main
yaml 537 lines 17.4 KB
Raw
1 group: Spec Decode
2 depends_on:
3 - image-build
4 steps:
5 - label: ":nvidia: (H200 MIG 35GB) V1 Spec Decode"
6 device: h200_35gb
7 key: v1-spec-decode
8 timeout_in_minutes: 40
9 source_file_dependencies:
10 - vllm/config/
11 - vllm/distributed/
12 - "!vllm/distributed/kv_transfer/"
13 - vllm/inputs/
14 - vllm/model_executor/
15 - vllm/models/qwen4_exp/
16 - vllm/platforms/
17 - vllm/sampling_params.py
18 - vllm/transformers_utils/
19 - vllm/utils/
20 - vllm/v1/
21 - tests/v1/spec_decode
22 commands:
23 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
24 # TODO: create another `optional` test group for slow tests
25 - pytest -v -s -m 'not slow_test' v1/spec_decode
26 mirror:
27 amd:
28 label: ":amd: (MI300) V1 Spec Decode"
29 dind: false
30 device: mi300_1
31 timeout_in_minutes: 50
32 depends_on:
33 - image-build-amd
34
35 - label: ":nvidia: (H200 MIG 35GB) Spec Decode Eagle 1: DeepSeek + Qwen"
36 key: spec-decode-eagle-1-deepseek-qwen
37 timeout_in_minutes: 25
38 device: h200_35gb
39 source_file_dependencies:
40 - vllm/v1/spec_decode/
41 - vllm/v1/worker/gpu/spec_decode/
42 - tests/v1/e2e/spec_decode/
43 commands:
44 - pytest -v -s v1/e2e/spec_decode/eagle/ -k "deepseek_eagle or qwen3_eagle3"
45 mirror:
46 amd:
47 label: ":amd: (MI355 DPX) Spec Decode Eagle 1: DeepSeek + Qwen"
48 dind: false
49 device: mi355_dpx
50 timeout_in_minutes: 60
51 depends_on:
52 - image-build-amd
53 source_file_dependencies:
54 - vllm/v1/spec_decode/
55 - vllm/v1/worker/gpu/spec_decode/
56 - vllm/model_executor/model_loader/
57 - vllm/v1/sample/
58 - vllm/model_executor/layers/
59 - tests/v1/e2e/spec_decode/
60 - vllm/platforms/rocm.py
61
62 - label: ":nvidia: (H200 MIG 35GB) Spec Decode Eagle 2: Llama 3 + Qwen VL + Other"
63 key: spec-decode-eagle-2-llama3-qwen-vl-other
64 timeout_in_minutes: 25
65 device: h200_35gb
66 source_file_dependencies:
67 - vllm/v1/spec_decode/
68 - vllm/v1/worker/gpu/spec_decode/
69 - tests/v1/e2e/spec_decode/
70 commands:
71 - pytest -v -s v1/e2e/spec_decode/eagle/ -k "not deepseek_eagle and not qwen3_eagle3"
72 mirror:
73 amd:
74 label: ":amd: (MI355 DPX) Spec Decode Eagle 2: Llama 3 + Qwen VL + Other"
75 dind: false
76 device: mi355_dpx
77 timeout_in_minutes: 60
78 depends_on:
79 - image-build-amd
80 source_file_dependencies:
81 - vllm/v1/spec_decode/
82 - vllm/v1/worker/gpu/spec_decode/
83 - vllm/model_executor/model_loader/
84 - vllm/v1/sample/
85 - vllm/model_executor/layers/
86 - tests/v1/e2e/spec_decode/
87 - vllm/platforms/rocm.py
88
89 - label: ":nvidia: (B200) Spec Decode Eagle Nightly"
90 key: spec-decode-eagle-nightly-b200
91 timeout_in_minutes: 25
92 device: b200-k8s
93 optional: true
94 source_file_dependencies:
95 - vllm/v1/spec_decode/
96 - vllm/v1/worker/gpu/spec_decode/
97 - tests/v1/e2e/spec_decode/
98 commands:
99 - pytest -v -s v1/e2e/spec_decode/eagle/
100
101 # MTP correctness is one parametrized test split into per-model folders;
102 # each job below runs whole directories.
103 - label: ":nvidia: (H200 MIG 35GB) Spec Decode Speculators"
104 key: spec-decode-speculators
105 timeout_in_minutes: 30
106 device: h200_35gb
107 source_file_dependencies:
108 - vllm/v1/spec_decode/
109 - vllm/v1/worker/gpu/spec_decode/
110 - vllm/v1/attention/backends/
111 - vllm/transformers_utils/configs/speculators/
112 - tests/v1/e2e/spec_decode/
113 commands:
114 - pytest -v -s v1/e2e/spec_decode/speculators/
115 mirror:
116 amd:
117 label: ":amd: (MI300) Spec Decode Speculators"
118 dind: false
119 device: mi300_1
120 timeout_in_minutes: 40
121 depends_on:
122 - image-build-amd
123 source_file_dependencies:
124 - vllm/v1/spec_decode/
125 - vllm/v1/worker/gpu/spec_decode/
126 - vllm/model_executor/model_loader/
127 - vllm/v1/sample/
128 - vllm/model_executor/layers/
129 - vllm/transformers_utils/configs/speculators/
130 - tests/v1/e2e/spec_decode/
131 - vllm/platforms/rocm.py
132
133 - label: ":nvidia: (H200 MIG 35GB) Spec Decode MTP Gemma4"
134 key: spec-decode-mtp-gemma4
135 timeout_in_minutes: 30
136 device: h200_35gb
137 source_file_dependencies:
138 - vllm/v1/spec_decode/
139 - vllm/v1/worker/gpu/spec_decode/
140 - vllm/v1/attention/backends/
141 - vllm/transformers_utils/configs/speculators/
142 - tests/v1/e2e/spec_decode/
143 commands:
144 - pytest -v -s v1/e2e/spec_decode/mtp/gemma4/
145 mirror:
146 amd:
147 label: ":amd: (MI300) Spec Decode MTP Gemma4"
148 dind: false
149 device: mi300_1
150 timeout_in_minutes: 40
151 depends_on:
152 - image-build-amd
153 source_file_dependencies:
154 - vllm/v1/spec_decode/
155 - vllm/v1/worker/gpu/spec_decode/
156 - vllm/model_executor/model_loader/
157 - vllm/v1/sample/
158 - vllm/model_executor/layers/
159 - vllm/transformers_utils/configs/speculators/
160 - tests/v1/e2e/spec_decode/
161 - vllm/platforms/rocm.py
162
163 - label: ":nvidia: (H200 MIG 35GB) Spec Decode MTP DeepSeek + MiMo"
164 key: spec-decode-mtp-deepseek-mimo
165 timeout_in_minutes: 30
166 device: h200_35gb
167 source_file_dependencies:
168 - vllm/v1/spec_decode/
169 - vllm/v1/worker/gpu/spec_decode/
170 - vllm/v1/attention/backends/
171 - vllm/transformers_utils/configs/speculators/
172 - tests/v1/e2e/spec_decode/
173 commands:
174 - pytest -v -s v1/e2e/spec_decode/mtp/deepseek/
175 - pytest -v -s v1/e2e/spec_decode/mtp/mimo/
176 mirror:
177 amd:
178 label: ":amd: (MI300) Spec Decode MTP DeepSeek + MiMo"
179 dind: false
180 device: mi300_1
181 timeout_in_minutes: 40
182 depends_on:
183 - image-build-amd
184 source_file_dependencies:
185 - vllm/v1/spec_decode/
186 - vllm/v1/worker/gpu/spec_decode/
187 - vllm/model_executor/model_loader/
188 - vllm/v1/sample/
189 - vllm/model_executor/layers/
190 - vllm/transformers_utils/configs/speculators/
191 - tests/v1/e2e/spec_decode/
192 - vllm/platforms/rocm.py
193
194 - label: ":nvidia: (H200 MIG 35GB) Spec Decode MTP Qwen3.5"
195 key: spec-decode-mtp-qwen3-5
196 timeout_in_minutes: 30
197 device: h200_35gb
198 source_file_dependencies:
199 - vllm/v1/spec_decode/
200 - vllm/v1/worker/gpu/spec_decode/
201 - vllm/v1/attention/backends/
202 - vllm/transformers_utils/configs/speculators/
203 - tests/v1/e2e/spec_decode/
204 commands:
205 - pytest -v -s v1/e2e/spec_decode/mtp/qwen3_5/
206 mirror:
207 amd:
208 label: ":amd: (MI300) Spec Decode MTP Qwen3.5"
209 dind: false
210 device: mi300_1
211 timeout_in_minutes: 40
212 depends_on:
213 - image-build-amd
214 source_file_dependencies:
215 - vllm/v1/spec_decode/
216 - vllm/v1/worker/gpu/spec_decode/
217 - vllm/model_executor/model_loader/
218 - vllm/v1/sample/
219 - vllm/model_executor/layers/
220 - vllm/transformers_utils/configs/speculators/
221 - tests/v1/e2e/spec_decode/
222 - vllm/platforms/rocm.py
223
224 - label: ":nvidia: (B200) Spec Decode Speculators + MTP Nightly"
225 key: spec-decode-speculators-mtp-nightly-b200
226 timeout_in_minutes: 30
227 device: b200-k8s
228 optional: true
229 source_file_dependencies:
230 - vllm/v1/spec_decode/
231 - vllm/v1/worker/gpu/spec_decode/
232 - vllm/transformers_utils/configs/speculators/
233 - tests/v1/e2e/spec_decode/
234 commands:
235 - pytest -v -s v1/e2e/spec_decode/speculators/
236 - pytest -v -s v1/e2e/spec_decode/mtp/
237
238 - label: ":nvidia: (H200 MIG 35GB) Spec Decode N-Gram + Suffix"
239 key: spec-decode-ngram-suffix
240 timeout_in_minutes: 20
241 device: h200_35gb
242 source_file_dependencies:
243 - vllm/v1/spec_decode/
244 - vllm/v1/worker/gpu/spec_decode/
245 - tests/v1/e2e/spec_decode/
246 - tests/spec_decode/
247 commands:
248 - pytest -v -s v1/e2e/spec_decode/ngram_suffix/
249 - python3 spec_decode/test_custom_proposer.py
250 mirror:
251 amd:
252 label: ":amd: (MI355 DPX) Spec Decode N-Gram + Suffix"
253 dind: false
254 device: mi355_dpx
255 timeout_in_minutes: 35
256 depends_on:
257 - image-build-amd
258 source_file_dependencies:
259 - vllm/v1/spec_decode/
260 - vllm/v1/worker/gpu/spec_decode/
261 - vllm/model_executor/model_loader/
262 - vllm/v1/sample/
263 - vllm/model_executor/layers/
264 - tests/v1/e2e/spec_decode/
265 - vllm/platforms/rocm.py
266
267 - label: ":nvidia: (H200 MIG 18GB) Spec Decode Draft Model Shard %N"
268 key: spec-decode-draft-model
269 timeout_in_minutes: 60
270 device: h200_18gb
271 parallelism: 4
272 source_file_dependencies:
273 - vllm/v1/spec_decode/
274 - vllm/v1/worker/gpu/spec_decode/
275 - tests/v1/e2e/spec_decode/
276 commands:
277 - pytest -v -s v1/e2e/spec_decode/draft_model/ --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
278 mirror:
279 amd:
280 label: ":amd: (MI355 DPX) Spec Decode Draft Model Shard %N"
281 dind: false
282 device: mi355_dpx
283 timeout_in_minutes: 60
284 parallelism: 2
285 depends_on:
286 - image-build-amd
287 source_file_dependencies:
288 - vllm/v1/spec_decode/
289 - vllm/v1/worker/gpu/spec_decode/
290 - vllm/model_executor/model_loader/
291 - vllm/v1/sample/
292 - vllm/model_executor/layers/
293 - tests/v1/e2e/spec_decode/
294 - vllm/platforms/rocm.py
295
296 - label: ":nvidia: (B200) Spec Decode Draft Model Nightly"
297 key: spec-decode-draft-model-nightly-b200
298 timeout_in_minutes: 40
299 device: b200-k8s
300 optional: true
301 source_file_dependencies:
302 - vllm/v1/spec_decode/
303 - vllm/v1/worker/gpu/spec_decode/
304 - tests/v1/e2e/spec_decode/
305 commands:
306 - pytest -v -s v1/e2e/spec_decode/draft_model/
307
308 - label: ":nvidia: (H100) Speculators Correctness Nightly"
309 key: speculators-correctness
310 timeout_in_minutes: 30
311 device: h100
312 optional: true
313 num_devices: 1
314 source_file_dependencies:
315 - vllm/v1/spec_decode/
316 - vllm/v1/worker/gpu/spec_decode/dflash/
317 - vllm/model_executor/models/qwen3_dflash.py
318 - tests/v1/spec_decode/test_speculators_correctness.py
319 commands:
320 - export VLLM_ALLOW_INSECURE_SERIALIZATION=1
321 - pytest -v -s v1/spec_decode/test_speculators_correctness.py -m slow_test
322 mirror:
323 amd:
324 label: ":amd: (MI300) Speculators Correctness Nightly"
325 dind: false
326 device: mi300_1
327 timeout_in_minutes: 40
328 depends_on:
329 - image-build-amd
330 source_file_dependencies:
331 - vllm/_aiter_ops.py
332 - vllm/platforms/rocm.py
333
334 - label: ":nvidia: (B200) Spec Decode DeepSeek MTP Parallel Load"
335 key: spec-decode-deepseek-mtp-parallel-load-2xb200-2xmi300
336 timeout_in_minutes: 30
337 device: b200-k8s
338 optional: true
339 num_devices: 2
340 source_file_dependencies:
341 - vllm/v1/spec_decode/llm_base_proposer.py
342 - vllm/v1/spec_decode/eagle.py
343 - vllm/v1/worker/gpu/spec_decode/eagle/
344 - vllm/model_executor/models/deepseek_mtp.py
345 - vllm/model_executor/models/deepseek_v2.py
346 - tests/v1/e2e/spec_decode/test_mtp_parallel_load.py
347 commands:
348 - pytest -v -s v1/e2e/spec_decode/test_mtp_parallel_load.py
349 mirror:
350 amd:
351 label: ":amd: (MI300) Spec Decode DeepSeek MTP Parallel Load"
352 dind: false
353 device: mi300_2
354 timeout_in_minutes: 45
355 depends_on:
356 - image-build-amd
357 source_file_dependencies:
358 - vllm/distributed/
359 - vllm/model_executor/model_loader/
360 - vllm/model_executor/layers/
361 - vllm/model_executor/models/deepseek_mtp.py
362 - vllm/model_executor/models/deepseek_v2.py
363 - vllm/v1/attention/
364 - vllm/v1/engine/
365 - vllm/v1/spec_decode/
366 - vllm/v1/worker/gpu/spec_decode/
367 - vllm/v1/worker/gpu_model_runner.py
368 - tests/v1/e2e/spec_decode/test_mtp_parallel_load.py
369 - vllm/platforms/rocm.py
370
371 - label: ":nvidia: (H200 MIG 35GB) Spec Decode AL DFlash Nightly"
372 key: spec-decode-dflash-nightly
373 timeout_in_minutes: 90
374 device: h200_35gb
375 optional: true
376 source_file_dependencies:
377 - vllm/v1/spec_decode/
378 - vllm/v1/worker/gpu/spec_decode/
379 - vllm/model_executor/models/qwen3_dflash.py
380 - vllm/model_executor/models/qwen3_dflash2.py
381 - vllm/model_executor/models/qwen3_5.py
382 - vllm/model_executor/models/laguna_dflash.py
383 - tests/v1/e2e/spec_decode/
384 commands:
385 # DFlash2 NVFP4 (27B) does not fit a 35GB MIG slice; runs on B200 below.
386 - pytest -v -s v1/e2e/spec_decode/acceptance_rates/dflash/ -k "not dflash2"
387 mirror:
388 amd:
389 label: ":amd: (MI300) Spec Decode AL DFlash Nightly"
390 dind: false
391 device: mi300_1
392 timeout_in_minutes: 120
393 commands:
394 - pytest -v -s v1/e2e/spec_decode/acceptance_rates/dflash/ -k "not dflash2"
395 depends_on:
396 - image-build-amd
397 source_file_dependencies:
398 - vllm/v1/spec_decode/
399 - vllm/v1/worker/gpu/spec_decode/
400 - vllm/v1/attention/
401 - vllm/v1/sample/
402 - vllm/model_executor/model_loader/
403 - vllm/model_executor/layers/
404 - vllm/model_executor/models/qwen2.py
405 - vllm/model_executor/models/qwen3.py
406 - vllm/model_executor/models/qwen3_dflash.py
407 - vllm/model_executor/models/laguna.py
408 - vllm/model_executor/models/laguna_dflash.py
409 - tests/v1/e2e/spec_decode/
410 - vllm/platforms/rocm.py
411
412 - label: ":nvidia: (B200) Spec Decode AL DFlash2 Nightly"
413 key: spec-decode-dflash2-nightly-b200
414 timeout_in_minutes: 60
415 device: b200-k8s
416 optional: true
417 source_file_dependencies:
418 - vllm/v1/spec_decode/
419 - vllm/v1/worker/gpu/spec_decode/
420 - vllm/model_executor/models/qwen3_dflash.py
421 - vllm/model_executor/models/qwen3_dflash2.py
422 - vllm/model_executor/models/qwen3_5.py
423 - tests/v1/e2e/spec_decode/
424 commands:
425 - pytest -v -s v1/e2e/spec_decode/acceptance_rates/dflash/ -k "dflash2"
426 mirror:
427 amd:
428 label: ":amd: (MI355) Spec Decode AL DFlash2 Nightly"
429 dind: false
430 device: mi355_1
431 num_devices: 1
432 timeout_in_minutes: 60
433 depends_on:
434 - image-build-amd
435 source_file_dependencies:
436 - .buildkite/test_areas/spec_decode.yaml
437 - tests/v1/e2e/spec_decode/
438 - tests/evals/gsm8k/
439 - tests/utils.py
440 - vllm/v1/spec_decode/
441 - vllm/v1/worker/gpu/spec_decode/
442 - vllm/v1/worker/gpu/sample/
443 - vllm/v1/worker/gpu/model_runner.py
444 - vllm/v1/attention/
445 - vllm/model_executor/models/qwen3_dflash.py
446 - vllm/model_executor/models/qwen3_dflash2.py
447 - vllm/model_executor/models/qwen3_5.py
448 - vllm/model_executor/model_loader/
449 - vllm/model_executor/layers/quantization/
450 - vllm/model_executor/kernels/linear/
451 - vllm/platforms/rocm.py
452
453 - label: ":nvidia: (H200 MIG 35GB) Spec Decode AL DSpark Nightly"
454 key: spec-decode-dspark-nightly
455 timeout_in_minutes: 60
456 device: h200_35gb
457 optional: true
458 source_file_dependencies:
459 - vllm/v1/spec_decode/
460 - vllm/v1/worker/gpu/spec_decode/
461 - vllm/model_executor/models/qwen3_dspark.py
462 - vllm/model_executor/models/gemma4_dspark.py
463 - tests/v1/e2e/spec_decode/
464 commands:
465 - pytest -v -s v1/e2e/spec_decode/acceptance_rates/dspark/
466 mirror:
467 amd:
468 label: ":amd: (MI300) Spec Decode AL DSpark Nightly"
469 dind: false
470 device: mi300_1
471 timeout_in_minutes: 90
472 depends_on:
473 - image-build-amd
474 source_file_dependencies:
475 - vllm/v1/spec_decode/
476 - vllm/v1/worker/gpu/spec_decode/
477 - vllm/v1/attention/
478 - vllm/v1/sample/
479 - vllm/model_executor/model_loader/
480 - vllm/model_executor/layers/
481 - vllm/model_executor/models/qwen2.py
482 - vllm/model_executor/models/qwen3.py
483 - vllm/model_executor/models/qwen3_dflash.py
484 - vllm/model_executor/models/qwen3_dspark.py
485 - vllm/model_executor/models/gemma4.py
486 - vllm/model_executor/models/gemma4_mm.py
487 - vllm/model_executor/models/gemma4_unified.py
488 - vllm/model_executor/models/gemma4_mtp.py
489 - vllm/model_executor/models/gemma4_dspark.py
490 - tests/v1/e2e/spec_decode/
491 - vllm/platforms/rocm.py
492
493 - label: ":nvidia: (H200 MIG 35GB) Spec Decode AL MTP + Other Acceptance Nightly"
494 key: spec-decode-mtp-other-acceptance-nightly
495 timeout_in_minutes: 35
496 device: h200_35gb
497 optional: true
498 parallelism: 3
499 source_file_dependencies:
500 - vllm/v1/spec_decode/
501 - vllm/v1/worker/gpu/spec_decode/
502 - tests/v1/e2e/spec_decode/conftest.py
503 - tests/v1/e2e/spec_decode/
504 commands:
505 # Each Gemma4 parametrization is an indivisible ~23m floor. Keep them in
506 # separate shards and put the remaining tests in shard 0, where new tests
507 # land by default.
508 - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s v1/e2e/spec_decode/acceptance_rates/mtp_other/ --deselect "tests/v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[False]" --deselect "tests/v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[True]"; fi
509 - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[False]"; fi
510 - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[True]"; fi
511 mirror:
512 amd:
513 label: ":amd: (MI355 DPX) Spec Decode AL MTP + Other Acceptance Nightly"
514 dind: false
515 device: mi355_dpx
516 timeout_in_minutes: 55
517 depends_on:
518 - image-build-amd
519 working_dir: /vllm-workspace/tests
520 source_file_dependencies:
521 - vllm/v1/spec_decode/
522 - vllm/v1/sample/
523 - vllm/v1/worker/gpu/
524 - vllm/v1/worker/gpu_model_runner.py
525 - vllm/v1/worker/gpu_worker.py
526 - vllm/model_executor/model_loader/
527 - vllm/model_executor/models/gemma4.py
528 - vllm/model_executor/models/gemma4_mm.py
529 - vllm/model_executor/models/gemma4_mtp.py
530 - vllm/model_executor/models/llama.py
531 - vllm/model_executor/models/llama_eagle3.py
532 - vllm/model_executor/models/medusa.py
533 - vllm/model_executor/models/registry.py
534 - tests/evals/gsm8k/
535 - tests/utils.py
536 - tests/v1/e2e/spec_decode/
537 - vllm/platforms/rocm.py