main
yaml 126 lines 2.14 KB
Raw
1 # MLA prefill backend comparison
2 #
3 # Compares all available MLA prefill backends:
4 # FA backends: fa2, fa3, fa4 (FlashAttention versions)
5 # Non-FA: flashinfer, cudnn, trtllm (Blackwell-only, require flashinfer)
6 # CuTe DSL: tokenspeed (Blackwell + R1 dims, requires tokenspeed_mla)
7 #
8 # Uses cutlass_mla as the decode backend for impl construction
9 # (only the prefill path is exercised).
10 #
11 # Backends that aren't available on the current platform will report errors
12 # in the results table (e.g., fa3 on Blackwell, cudnn without artifactory).
13 #
14 # Usage:
15 # python benchmark.py --config configs/mla_prefill.yaml
16
17 description: "MLA prefill backend comparison"
18
19 model:
20 name: "deepseek-v3"
21 num_layers: 60
22 num_q_heads: 128
23 num_kv_heads: 1
24 head_dim: 576
25 kv_lora_rank: 512
26 qk_nope_head_dim: 128
27 qk_rope_head_dim: 64
28 v_head_dim: 128
29 block_size: 128
30
31 # model:
32 # name: "deepseek-v2-lite"
33 # num_layers: 27
34 # num_q_heads: 16
35 # num_kv_heads: 1
36 # head_dim: 576
37 # kv_lora_rank: 512
38 # qk_nope_head_dim: 128
39 # qk_rope_head_dim: 64
40 # v_head_dim: 128
41 # block_size: 128
42
43 batch_specs:
44 # Pure prefill
45 - "q512"
46 - "q1k"
47 - "q2k"
48 - "q4k"
49 - "q8k"
50
51 # Batched pure prefill
52 - "2q512"
53 - "2q1k"
54 - "2q2k"
55 - "2q4k"
56 - "2q8k"
57 - "4q512"
58 - "4q1k"
59 - "4q2k"
60 - "4q4k"
61 - "4q8k"
62 - "8q512"
63 - "8q1k"
64 - "8q2k"
65 - "8q4k"
66 - "8q8k"
67
68 # Chunked prefill / extend
69 # Short context
70 - "q128s1k"
71 - "q256s2k"
72 - "q512s4k"
73 - "q1ks4k"
74 - "q2ks8k"
75 - "2q128s1k"
76 - "2q256s2k"
77 - "2q512s4k"
78 - "2q1ks4k"
79 - "2q2ks8k"
80 - "4q128s1k"
81 - "4q256s2k"
82 - "4q512s4k"
83 - "4q1ks4k"
84 - "4q2ks8k"
85 - "8q128s1k"
86 - "8q256s2k"
87 - "8q512s4k"
88 - "8q1ks4k"
89
90 # Medium context
91 - "q128s16k"
92 - "q512s16k"
93 - "q1ks16k"
94 - "q2ks16k"
95 - "2q128s16k"
96 - "2q512s16k"
97 - "2q1ks16k"
98 - "2q2ks16k"
99 - "4q128s16k"
100 - "4q512s16k"
101 - "4q1ks16k"
102 - "4q2ks16k"
103
104 # Long context
105 - "q128s64k"
106 - "q512s64k"
107 - "q1ks64k"
108 - "q2ks64k"
109 - "2q128s64k"
110 - "2q512s64k"
111 - "2q1ks64k"
112 - "2q2ks64k"
113
114 decode_backends:
115 - CUTLASS_MLA
116
117 prefill_backends:
118 - fa2
119 - fa3
120 - fa4
121 - flashinfer
122 - cudnn
123 - trtllm
124 - tokenspeed
125
126 device: "cuda:0"