66 name : dsv41flash-fp4-gb300-vllm-agentic
77 model :
88 path : hf:deepseek-ai/DeepSeek-V4.1-Flash
9- container : vllm/vllm-openai:nightly-ac68c3087215e0a4f3cdfa218508c6aada57235d
9+ container : vllm/vllm-openai:nightly-dev-arm64-cu130-ac9126e58aa7
1010 precision : fp4
1111 resources :
1212 gpu_type : gb300
@@ -37,17 +37,21 @@ base:
3737 enable-auto-tool-choice : true
3838 reasoning-parser : deepseek_v41
3939 engram-config : ' {"cpu_offload":true}'
40- # FlashInfer sparse attention with MXFP4 indexer KV and sparse logits.
40+ kernel-config : ' {"enable_flashinfer_autotune":true} '
4141 attention-config : ' {"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
4242 kv-cache-dtype : fp8
4343 # Five-token DSpark with probabilistic drafting. Throughput runs replace
4444 # block rejection with the golden acceptance length.
4545 speculative-config : ' {"method":"dspark","num_speculative_tokens":5,"draft_sample_method":"probabilistic","rejection_sample_method":"block","enable_adaptive_verification":false}'
4646 max-model-len : 1048576
47- max-num-seqs : 256
47+ # Piecewise graph capture sizes are multiples of the six-token DSpark
48+ # verification block, denser for small batches.
49+ compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
50+ max-cudagraph-capture-size : 8190
51+ max-num-batched-tokens : 8192
4852 disable-uvicorn-access-log : true
4953 env :
50- VLLM_DISABLED_KERNELS : FlashInferCutedslMxfp8LinearKernel
54+ VLLM_USE_V2_MODEL_RUNNER : ' 1 '
5155 VLLM_USE_RUST_FRONTEND : ' 1'
5256 PYTHONUNBUFFERED : ' 1'
5357 VLLM_ENGINE_READY_TIMEOUT_S : ' 7200'
@@ -58,216 +62,66 @@ base:
5862 MODEL : deepseek-ai/DeepSeek-V4.1-Flash
5963 AIPERF_REQUIRED_SERVER_METRIC_PREFIX : ' vllm:'
6064
61- # One variant per point. Piecewise graph capture sizes are multiples of the
62- # six-token DSpark verification block, denser for small batches, and each
63- # batched-token limit matches the largest captured graph: CONC <= 4 and TP2
64- # CONC 128 capture up to 2046 tokens (the latter at 0.97 memory utilization),
65- # every other point up to 8190.
66- override_tp4_c1 :
67- roles :
68- agg :
69- gpus : 4
70- args :
71- tensor-parallel-size : 4
72- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
73- max-cudagraph-capture-size : 2046
74- max-num-batched-tokens : 2048
75- benchmark :
76- env :
77- CONC : ' 1'
78-
79- override_tp4_c2 :
80- roles :
81- agg :
82- gpus : 4
83- args :
84- tensor-parallel-size : 4
85- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
86- max-cudagraph-capture-size : 2046
87- max-num-batched-tokens : 2048
88- benchmark :
89- env :
90- CONC : ' 2'
91-
92- override_tp4_c4 :
93- roles :
94- agg :
95- gpus : 4
96- args :
97- tensor-parallel-size : 4
98- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
99- max-cudagraph-capture-size : 2046
100- max-num-batched-tokens : 2048
101- benchmark :
102- env :
103- CONC : ' 4'
104-
105- override_tp4_c8 :
106- roles :
107- agg :
108- gpus : 4
109- args :
110- tensor-parallel-size : 4
111- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
112- max-cudagraph-capture-size : 8190
113- max-num-batched-tokens : 8192
114- benchmark :
115- env :
116- CONC : ' 8'
117-
118- override_tp4_c16 :
119- roles :
120- agg :
121- gpus : 4
122- args :
123- tensor-parallel-size : 4
124- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
125- max-cudagraph-capture-size : 8190
126- max-num-batched-tokens : 8192
127- benchmark :
128- env :
129- CONC : ' 16'
130-
131- override_tp4_c32 :
132- roles :
133- agg :
134- gpus : 4
135- args :
136- tensor-parallel-size : 4
137- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
138- max-cudagraph-capture-size : 8190
139- max-num-batched-tokens : 8192
140- benchmark :
141- env :
142- CONC : ' 32'
143-
144- override_tp4_c64 :
145- roles :
146- agg :
147- gpus : 4
148- args :
149- tensor-parallel-size : 4
150- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
151- max-cudagraph-capture-size : 8190
152- max-num-batched-tokens : 8192
153- benchmark :
154- env :
155- CONC : ' 64'
65+ # Native zip expansion creates one variant per concurrency.
15666
157- override_tp4_c128 :
67+ # TP4 covers low concurrency with THP Engram tables.
68+ zip_override_tp4 :
15869 roles :
15970 agg :
16071 gpus : 4
16172 args :
16273 tensor-parallel-size : 4
163- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
164- max-cudagraph-capture-size : 8190
165- max-num-batched-tokens : 8192
166- benchmark :
167- env :
168- CONC : ' 128'
169-
170- override_tp2_c2 :
171- roles :
172- agg :
173- gpus : 2
174- args :
175- tensor-parallel-size : 2
176- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
177- max-cudagraph-capture-size : 2046
178- max-num-batched-tokens : 2048
179- benchmark :
180- env :
181- CONC : ' 2'
182-
183- override_tp2_c4 :
184- roles :
185- agg :
186- gpus : 2
187- args :
188- tensor-parallel-size : 2
189- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
190- max-cudagraph-capture-size : 2046
191- max-num-batched-tokens : 2048
192- benchmark :
193- env :
194- CONC : ' 4'
195-
196- override_tp2_c8 :
197- roles :
198- agg :
199- gpus : 2
200- args :
201- tensor-parallel-size : 2
202- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
203- max-cudagraph-capture-size : 8190
204- max-num-batched-tokens : 8192
205- benchmark :
206- env :
207- CONC : ' 8'
208-
209- override_tp2_c16 :
210- roles :
211- agg :
212- gpus : 2
213- args :
214- tensor-parallel-size : 2
215- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
216- max-cudagraph-capture-size : 8190
217- max-num-batched-tokens : 8192
218- benchmark :
219- env :
220- CONC : ' 16'
221-
222- override_tp2_c32 :
223- roles :
224- agg :
225- gpus : 2
226- args :
227- tensor-parallel-size : 2
228- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
229- max-cudagraph-capture-size : 8190
230- max-num-batched-tokens : 8192
231- benchmark :
232- env :
233- CONC : ' 32'
234-
235- override_tp2_c64 :
236- roles :
237- agg :
238- gpus : 2
239- args :
240- tensor-parallel-size : 2
241- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
242- max-cudagraph-capture-size : 8190
243- max-num-batched-tokens : 8192
244- benchmark :
245- env :
246- CONC : ' 64'
247-
248- override_tp2_c128 :
249- roles :
250- agg :
251- gpus : 2
252- args :
253- tensor-parallel-size : 2
254- compilation-config : ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046]}'
255- max-cudagraph-capture-size : 2046
256- max-num-batched-tokens : 2048
257- gpu-memory-utilization : 0.97
258- benchmark :
259- env :
260- CONC : ' 128'
261-
262- override_tp2_c1 :
74+ engram-config : ' {"cpu_offload":true,"use_thp":true}'
75+ max-num-seqs : [8, 8, 16, 32]
76+ compilation-config :
77+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092]}'
78+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092]}'
79+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
80+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190],"decoder_replay_cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2048,2304,2560,2816,3072,3328,3584,3840,4096]}'
81+ max-cudagraph-capture-size : [4092, 4092, 8190, 8190]
82+ max-num-batched-tokens : [4096, 4096, 8192, 8192]
83+ benchmark :
84+ env :
85+ CONC : ['1', '4', '8', '16']
86+
87+ # DEP2: TP1 x DP2 + EP2 with MegaMoE behind a consistent-hash router;
88+ # MegaAttention at CONC 128 and above.
89+ zip_override_dep2 :
90+ frontend :
91+ type : vllm-router
92+ args :
93+ policy : consistent_hash
94+ prometheus-host : 127.0.0.1
95+ prometheus-port : 18000
96+ request-timeout-secs : 14400
97+ disable-retries : true
98+ setup_script : vllm-router-0.1.14.sh
26399 roles :
264100 agg :
265101 gpus : 2
266102 args :
267- tensor-parallel-size : 2
268- max-cudagraph-capture-size : 64
269- max-num-batched-tokens : 4096
270- max-num-seqs : 16
271- benchmark :
272- env :
273- CONC : ' 1'
103+ tensor-parallel-size : 1
104+ data-parallel-size : 2
105+ enable-expert-parallel : true
106+ kernel-config : ' {"enable_flashinfer_autotune":true,"moe_backend":"deep_gemm_mega_moe"}'
107+ engram-config : ' {"cpu_offload":true,"embedding_across_dp":true}'
108+ max-num-seqs : [16, 16, 32, 64, 128, 192]
109+ attention-config :
110+ - ' {"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
111+ - ' {"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
112+ - ' {"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
113+ - ' {"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
114+ - ' {"backend":"FLASHMLA_MEGA_ATTN_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
115+ - ' {"backend":"FLASHMLA_MEGA_ATTN_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'
116+ compilation-config :
117+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
118+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190]}'
119+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190],"decoder_replay_cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2048,2304,2560,2816,3072,3328,3584,3840,4096]}'
120+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190],"decoder_replay_cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2048,2304,2560,2816,3072,3328,3584,3840,4096]}'
121+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092,6144,8190],"decoder_replay_cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2048,2304,2560,2816,3072,3328,3584,3840,4096]}'
122+ - ' {"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2046,3072,4092],"decoder_replay_cudagraph_capture_sizes":[6,12,18,24,30,36,48,60,72,96,120,144,192,240,288,384,480,576,768,1020,1536,2048]}'
123+ max-cudagraph-capture-size : [8190, 8190, 8190, 8190, 8190, 4092]
124+ max-num-batched-tokens : [8192, 8192, 8192, 8192, 16384, 16384]
125+ benchmark :
126+ env :
127+ CONC : ['8', '16', '32', '64', '128', '192']
0 commit comments