[ROCm][CI] Stage H gating and MI355 test reallocation (#57080)
Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com> Co-authored-by: OpenAI Codex <codex@openai.com> Co-authored-by: OpenAI Codex <noreply@openai.com>
Andreas Karatzas committed
Sep 17, 2026 at 03:44 UTC
f1c2f6ada80f7c0d896b7870f53db97103ff339d
23 files changed
+1719
-570
.buildkite/test-amd.yaml
+1208
-506
@@ -124,8 +124,9 @@ steps:
124
- tests/models/test_vision.py
125
- tests/models/test_adapters.py
126
- tests/models/transformers/fusers/
127
+ - tests/models/test_qwen3_5_mtp_config.py
128
commands:
128
- - pytest -v -s models/test_utils.py models/test_vision.py models/test_adapters.py models/transformers/fusers/
129
+ - pytest -v -s models/test_utils.py models/test_vision.py models/test_adapters.py models/test_qwen3_5_mtp_config.py models/transformers/fusers/
130
131
- label: ":computer: (CPU) Multimodal Processor Shard %N" # TBD
132
timeout_in_minutes: 90
@@ -214,7 +215,7 @@ steps:
215
- .buildkite/test_areas/rust_frontend_cargo.yaml
216
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh
217
commands:
217
- - bash .buildkite/scripts/run-rust-frontend-cargo-ci.sh style-clippy
218
+ - .buildkite/scripts/run-rust-frontend-cargo-ci.sh style-clippy
219
220
- label: ":computer: (CPU) Rust Frontend Cargo" # TBD
221
timeout_in_minutes: 35
@@ -229,7 +230,7 @@ steps:
230
- .buildkite/test_areas/rust_frontend_cargo.yaml
231
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh
232
commands:
232
- - bash .buildkite/scripts/run-rust-frontend-cargo-ci.sh test
233
+ - .buildkite/scripts/run-rust-frontend-cargo-ci.sh test
234
235
- label: ":computer: (CPU) Docker Build Metadata" # TBD
236
timeout_in_minutes: 35
@@ -281,7 +282,7 @@ steps:
282
#-------------------------------------------------------- mi250 · distributed --------------------------------------------------------#
283
284
- label: ":amd: (MI250) Pipeline + Context Parallelism" # TBD
284
- timeout_in_minutes: 80
285
+ timeout_in_minutes: 90
286
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
287
agent_pool: mi250_4
288
num_gpus: 4
@@ -297,14 +298,18 @@ steps:
298
- tests/distributed/
299
- vllm/_aiter_ops.py
300
- vllm/platforms/rocm.py
301
+ - tests/v1/distributed/test_pp_dp_v2.py
302
+ optional: true
303
commands:
304
- pytest -v -s distributed/test_pp_cudagraph.py
305
- pytest -v -s distributed/test_pipeline_parallel.py
306
+ - pytest -v -s v1/distributed/test_pp_dp_v2.py
307
308
#---------------------------------------------------------- mi250 · kernels ----------------------------------------------------------#
309
306
-- label: ":amd: (MI250) Helion Kernels" # TBD
307
- timeout_in_minutes: 40
310
+- label: ":amd: (MI250) Helion Kernels Shard %N"
311
+ timeout_in_minutes: 45
312
+ parallelism: 2
313
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
314
agent_pool: mi250_1
315
optional: true
@@ -316,25 +321,43 @@ steps:
321
- vllm/platforms/rocm.py
322
commands:
323
- pip install helion==1.4.0
319
- - pytest -v -s kernels/helion/
324
+ - pytest -v -s kernels/helion/ --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
325
326
#----------------------------------------------------- mi250 · models / language -----------------------------------------------------#
327
328
- label: ":amd: (MI250) Language Models (PPL)" # TBD
324
- timeout_in_minutes: 45
329
+ timeout_in_minutes: 65
330
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
331
agent_pool: mi250_1
332
working_dir: "/vllm-workspace/tests"
333
source_file_dependencies:
334
- vllm/
335
- tests/models/language/generation_ppl_test
336
+ - vllm/model_executor/models/qwen3_5.py
337
+ - vllm/model_executor/models/qwen3_5_mtp.py
338
+ - vllm/transformers_utils/configs/qwen3_5.py
339
+ - vllm/transformers_utils/configs/qwen3_5_moe.py
340
+ - vllm/model_executor/models/qwen2.py
341
+ - vllm/model_executor/models/qwen3.py
342
+ - vllm/model_executor/models/qwen3_next.py
343
+ - vllm/model_executor/models/qwen3_next_mtp.py
344
+ - vllm/model_executor/layers/fla/ops/
345
+ - vllm/_aiter_ops.py
346
+ - vllm/v1/attention/backends/triton_attn.py
347
+ - vllm/v1/attention/backends/rocm_attn.py
348
+ - vllm/v1/attention/backends/rocm_aiter_unified_attn.py
349
+ - vllm/v1/attention/backends/rocm_aiter_fa.py
350
+ - vllm/v1/attention/backends/flex_attention.py
351
+ - vllm/v1/attention/ops/
352
+ - vllm/platforms/rocm.py
353
+ optional: true
354
commands:
355
- pytest -v -s models/language/generation_ppl_test
356
357
#---------------------------------------------------- mi250 · models / multimodal ----------------------------------------------------#
358
359
- label: ":amd: (MI250) Multimodal Models (Standard) 3: llava + qwen2_vl" # TBD
337
- timeout_in_minutes: 45
360
+ timeout_in_minutes: 55
361
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
362
agent_pool: mi250_1
363
optional: true
@@ -367,7 +390,7 @@ steps:
390
- pytest -v -s v1/determinism/test_rms_norm_batch_invariant.py
391
392
- label: ":amd: (MI250) CUDAGraph" # TBD
370
- timeout_in_minutes: 45
393
+ timeout_in_minutes: 55
394
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
395
agent_pool: mi250_1
396
optional: true
@@ -378,9 +401,13 @@ steps:
401
- vllm/config/compilation.py
402
- vllm/compilation
403
- vllm/platforms/rocm.py
404
+ - vllm/v1/worker/encoder_cudagraph.py
405
+ - vllm/v1/worker/encoder_cudagraph_defs.py
406
commands:
407
- pytest -v -s v1/cudagraph/test_cudagraph_dispatch.py
408
- pytest -v -s v1/cudagraph/test_cudagraph_mode.py
409
+ - pytest -v -s v1/cudagraph/test_breakable_cudagraph.py
410
+ - pytest -v -s v1/cudagraph/test_encoder_cudagraph.py
411
412
- label: ":amd: (MI250) E2E Core" # TBD
413
timeout_in_minutes: 50
@@ -423,6 +450,7 @@ steps:
450
- vllm/engine/arg_utils.py
451
- vllm/transformers_utils/config.py
452
- vllm/platforms/rocm.py
453
+ - vllm/v1/engine/
454
commands:
455
- pytest -v -s v1/engine/test_preprocess_error_handling.py
456
- pytest -v -s v1/engine --ignore v1/engine/test_preprocess_error_handling.py
@@ -447,7 +475,7 @@ steps:
475
- pytest -v -s v1/e2e/spec_decode/draft_model/
476
477
- label: ":amd: (MI250) Spec Decode Speculators + MTP" # TBD
450
- timeout_in_minutes: 65
478
+ timeout_in_minutes: 75
479
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
480
agent_pool: mi250_1
481
optional: true
@@ -461,6 +489,7 @@ steps:
489
- vllm/transformers_utils/configs/speculators/
490
- tests/v1/e2e/spec_decode/
491
- vllm/platforms/rocm.py
492
+ - vllm/v1/attention/backends/
493
commands:
494
- pytest -v -s v1/e2e/spec_decode/speculators/
495
- pytest -v -s v1/e2e/spec_decode/mtp/
@@ -468,7 +497,7 @@ steps:
497
#------------------------------------------------------------- mi250 · misc ------------------------------------------------------------#
498
499
- label: ":amd: (MI300) Python-only Installation" # TBD
471
- timeout_in_minutes: 25
500
+ timeout_in_minutes: 55
501
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
502
dind: false
503
agent_pool: mi300_1
@@ -501,14 +530,16 @@ steps:
530
- tests/basic_correctness/test_basic_correctness
531
- tests/basic_correctness/test_cpu_offload
532
- tests/basic_correctness/test_mem.py
533
+ optional: true
534
commands:
535
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
536
- pytest -v -s basic_correctness/test_mem.py
537
- VLLM_TARGET_TEST_SUITE=MI300 pytest -v -s basic_correctness/test_basic_correctness.py
538
- pytest -v -s basic_correctness/test_cpu_offload.py
539
510
-- label: ":amd: (MI300) Distributed Models" # TBD
540
+- label: ":amd: (MI300) Distributed Models Shard %N"
541
timeout_in_minutes: 80
542
+ parallelism: 3
543
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
544
dind: false
545
agent_pool: mi300_2
@@ -531,21 +562,17 @@ steps:
562
- tests/basic_correctness/
563
- tests/model_executor/model_loader/test_sharded_state_loader.py
564
- tests/models/
565
+ - vllm/v1/worker/
566
+ - tests/conftest.py
567
+ - tests/utils.py
568
+ - tests/models/test_vision.py
569
commands:
535
- - TARGET_TEST_SUITE=MI300 pytest basic_correctness/ -v -s -m 'distributed(num_gpus=2)'
536
- - HIP_VISIBLE_DEVICES=0,1 pytest -v -s model_executor/model_loader/test_sharded_state_loader.py -m '(not slow_test)'
537
- - pytest models/transformers/test_backend.py -v -s -m 'distributed(num_gpus=2)'
538
- - pytest models/language -v -s -m 'distributed(num_gpus=2)'
539
- - pytest models/multimodal -v -s -m 'distributed(num_gpus=2)' --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_phi4siglip.py
540
- - pytest models/multimodal/generation/test_phi4siglip.py -v -s -m 'distributed(num_gpus=2)'
541
- - VLLM_WORKER_MULTIPROC_METHOD=spawn pytest models/multimodal/generation/test_whisper.py -v -s -m 'distributed(num_gpus=2)'
542
- - pytest -v -s models/test_vision.py -m 'distributed(num_gpus=2)'
543
- - VLLM_ROCM_USE_AITER=1 pytest -v -s models/test_hyv4_rocm.py -m 'distributed(num_gpus=2)'
570
+ - case "$$BUILDKITE_PARALLEL_JOB" in 0) TARGET_TEST_SUITE=MI300 pytest basic_correctness/ -v -s -m 'distributed(num_gpus=2)' && HIP_VISIBLE_DEVICES=0,1 pytest -v -s model_executor/model_loader/test_sharded_state_loader.py -m '(not slow_test)' ;; 1) pytest models/transformers/test_backend.py -v -s -m 'distributed(num_gpus=2)' && pytest models/language -v -s -m 'distributed(num_gpus=2)' && VLLM_ROCM_USE_AITER=1 pytest -v -s models/test_hyv4_rocm.py -m 'distributed(num_gpus=2)' ;; 2) pytest models/multimodal -v -s -m 'distributed(num_gpus=2)' --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_phi4siglip.py && pytest models/multimodal/generation/test_phi4siglip.py -v -s -m 'distributed(num_gpus=2)' && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest models/multimodal/generation/test_whisper.py -v -s -m 'distributed(num_gpus=2)' && pytest -v -s models/test_vision.py -m 'distributed(num_gpus=2)' ;; *) exit 2 ;; esac
571
572
#-------------------------------------------------------- mi300 · benchmarks ---------------------------------------------------------#
573
574
- label: ":amd: (MI300) Benchmarks CLI" # TBD
548
- timeout_in_minutes: 35
575
+ timeout_in_minutes: 40
576
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
577
dind: false
578
agent_pool: mi300_1
@@ -554,13 +581,14 @@ steps:
581
source_file_dependencies:
582
- vllm/
583
- tests/benchmarks/
584
+ - rust/src/bench/tests/python_serve_flags.txt
585
commands:
586
- pytest -v -s benchmarks/
587
588
#---------------------------------------------------------- mi300 · compile ----------------------------------------------------------#
589
590
- label: ":amd: (MI300) PyTorch Compilation" # TBD
563
- timeout_in_minutes: 45
591
+ timeout_in_minutes: 90
592
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
593
dind: false
594
agent_pool: mi300_1
@@ -576,6 +604,29 @@ steps:
604
- csrc/
605
- tests/compile
606
- vllm/platforms/rocm.py
607
+ - vllm/__init__.py
608
+ - vllm/_aiter_ops.py
609
+ - vllm/_custom_ops.py
610
+ - vllm/config/
611
+ - vllm/distributed/
612
+ - vllm/engine/
613
+ - vllm/env_override.py
614
+ - vllm/envs.py
615
+ - vllm/forward_context.py
616
+ - vllm/inputs/
617
+ - vllm/ir/
618
+ - vllm/kernels/
619
+ - vllm/logger.py
620
+ - vllm/model_executor/
621
+ - vllm/multimodal/
622
+ - vllm/platforms/
623
+ - vllm/plugins/
624
+ - vllm/sampling_params.py
625
+ - vllm/sequence.py
626
+ - vllm/transformers_utils/
627
+ - vllm/triton_utils/
628
+ - vllm/utils/
629
+ - vllm/v1/
630
commands:
631
- "find compile/ -maxdepth 1 -name 'test_*.py' -print0 | xargs -0 -n1 -I{} pytest -s -v '{}'"
632
@@ -596,6 +647,7 @@ steps:
647
- tests/compile/fusions_e2e/
648
- vllm/_aiter_ops.py
649
- vllm/platforms/rocm.py
650
+ optional: true
651
commands:
652
- rocm-smi
653
- pytest -v -s tests/compile/fusions_e2e/test_tp1_quant.py -k "llama-3"
@@ -615,6 +667,7 @@ steps:
667
- tests/compile/fusions_e2e/
668
- vllm/_aiter_ops.py
669
- vllm/platforms/rocm.py
670
+ optional: true
671
commands:
672
- rocm-smi
673
# Run all models and attn backends but only Inductor partition and native custom ops
@@ -631,11 +684,37 @@ steps:
684
source_file_dependencies:
685
- vllm/
686
- tests/compile/passes
687
+ - vllm/platforms/rocm.py
688
+ - vllm/__init__.py
689
+ - vllm/_aiter_ops.py
690
+ - vllm/_custom_ops.py
691
+ - vllm/compilation/
692
+ - vllm/config/
693
+ - vllm/distributed/
694
+ - vllm/engine/
695
+ - vllm/env_override.py
696
+ - vllm/envs.py
697
+ - vllm/forward_context.py
698
+ - vllm/inputs/
699
+ - vllm/ir/
700
+ - vllm/kernels/
701
+ - vllm/logger.py
702
+ - vllm/model_executor/
703
+ - vllm/multimodal/
704
+ - vllm/platforms/
705
+ - vllm/plugins/
706
+ - vllm/sampling_params.py
707
+ - vllm/sequence.py
708
+ - vllm/transformers_utils/
709
+ - vllm/triton_utils/
710
+ - vllm/utils/
711
+ - vllm/v1/
712
+ optional: true
713
commands:
714
- pytest -s -v compile/passes --ignore compile/passes/distributed
715
716
- label: ":amd: (MI300) PyTorch Fullgraph" # TBD
638
- timeout_in_minutes: 35
717
+ timeout_in_minutes: 90
718
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
719
dind: false
720
agent_pool: mi300_1
@@ -649,11 +728,33 @@ steps:
728
- csrc/
729
- tests/compile
730
- vllm/platforms/rocm.py
731
+ - vllm/__init__.py
732
+ - vllm/_aiter_ops.py
733
+ - vllm/_custom_ops.py
734
+ - vllm/config/
735
+ - vllm/distributed/
736
+ - vllm/engine/
737
+ - vllm/env_override.py
738
+ - vllm/envs.py
739
+ - vllm/forward_context.py
740
+ - vllm/inputs/
741
+ - vllm/ir/
742
+ - vllm/kernels/
743
+ - vllm/logger.py
744
+ - vllm/multimodal/
745
+ - vllm/platforms/
746
+ - vllm/plugins/
747
+ - vllm/sampling_params.py
748
+ - vllm/sequence.py
749
+ - vllm/transformers_utils/
750
+ - vllm/triton_utils/
751
+ - vllm/utils/
752
+ - vllm/v1/
753
commands:
653
- - pytest -v -s compile/fullgraph/test_full_graph.py
754
+ - find compile/fullgraph/ -name 'test_*.py' -not -name 'test_full_cudagraph.py' -print0 | xargs -0 -n1 -I{} pytest -s -v '{}'
755
756
- label: ":amd: (MI300) PyTorch Nightly Dependency Override Check" # TBD
656
- timeout_in_minutes: 25
757
+ timeout_in_minutes: 30
758
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
759
dind: false
760
agent_pool: mi300_1
@@ -704,7 +805,7 @@ steps:
805
- pytest -v -s tests/compile/fusions_e2e/test_tp2_ar_rms.py::test_tp2_ar_rms_fusions -k "dynamo_partition"
806
807
- label: ":amd: (MI300) Distributed Compile + RPC" # TBD
707
- timeout_in_minutes: 45
808
+ timeout_in_minutes: 65
809
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
810
dind: false
811
agent_pool: mi300_2
@@ -722,9 +823,9 @@ steps:
823
- tests/compile/test_wrapper.py
824
- tests/entrypoints/llm/test_collective_rpc.py
825
- vllm/platforms/rocm.py
826
+ optional: true
827
commands:
828
- pytest -v -s entrypoints/llm/test_collective_rpc.py
727
- - pytest -v -s ./compile/fullgraph/test_basic_correctness.py
829
- pytest -v -s ./compile/test_wrapper.py
830
831
#----------------------------------------------------------- mi300 · cuda ------------------------------------------------------------#
@@ -738,9 +839,16 @@ steps:
839
source_file_dependencies:
840
- vllm/
841
- tests/cuda
842
+ - vllm/envs.py
843
+ - vllm/logger.py
844
+ - vllm/platforms/
845
+ - vllm/plugins/
846
+ - vllm/utils/
847
+ optional: true
848
commands:
849
- pytest -v -s cuda/test_cuda_context.py
850
- pytest -v -s cuda/test_platform_no_cuda_init.py
851
+ - pytest -v -s cuda/test_cuda_compatibility_path.py
852
853
#-------------------------------------------------------- mi300 · detokenizer --------------------------------------------------------#
854
@@ -756,6 +864,19 @@ steps:
864
- tests/detokenizer
865
- tests/multimodal
866
- tests/utils_
867
+ - vllm/assets/
868
+ - vllm/config/
869
+ - vllm/distributed/
870
+ - vllm/engine/
871
+ - vllm/inputs/
872
+ - vllm/model_executor/
873
+ - vllm/multimodal/
874
+ - vllm/platforms/
875
+ - vllm/sampling_params.py
876
+ - vllm/tokenizers/
877
+ - vllm/transformers_utils/
878
+ - vllm/utils/
879
+ - vllm/v1/
880
commands:
881
- pytest -v -s detokenizer
882
- pytest -v -s -m 'not cpu_test' multimodal
@@ -782,7 +903,7 @@ steps:
903
- pytest -v -s distributed/test_shm_storage.py
904
905
- label: ":amd: (MI300) EPLB Algorithm" # TBD
785
- timeout_in_minutes: 25
906
+ timeout_in_minutes: 30
907
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
908
dind: false
909
agent_pool: mi300_1
@@ -814,7 +935,7 @@ steps:
935
- pytest -v -s distributed/test_eplb_spec_decode.py
936
937
- label: ":amd: (MI300) Distributed Features" # TBD
817
- timeout_in_minutes: 45
938
+ timeout_in_minutes: 90
939
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
940
dind: false
941
agent_pool: mi300_2
@@ -831,6 +952,26 @@ steps:
952
- examples/features/data_parallel/data_parallel_offline.py
953
- vllm/_aiter_ops.py
954
- vllm/platforms/rocm.py
955
+ - csrc/custom_quickreduce.cu
956
+ - csrc/ops.h
957
+ - csrc/torch_bindings.cpp
958
+ - vllm/model_executor/layers/
959
+ - vllm/entrypoints/llm.py
960
+ - vllm/config/parallel.py
961
+ - vllm/v1/engine/
962
+ - vllm/v1/executor/
963
+ - vllm/v1/worker/
964
+ - vllm/_custom_ops.py
965
+ - vllm/envs.py
966
+ - tests/distributed/test_rocm_aiter_custom_ar.py
967
+ - tests/distributed/test_rocm_quick_reduce.py
968
+ - tests/distributed/test_quick_all_reduce.py
969
+ - tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
970
+ - tests/utils.py
971
+ - examples/rl/rlhf_async_new_apis.py
972
+ - tests/distributed/test_weight_transfer.py
973
+ - tests/distributed/test_packed_tensor.py
974
+ optional: true
975
commands:
976
- pytest -v -s tests/distributed/test_context_parallel.py
977
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 python3 examples/rl/rlhf_async_new_apis.py
@@ -839,6 +980,10 @@ steps:
980
- pytest -v -s tests/v1/distributed/test_dbo.py
981
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
982
- pytest -v -s tests/distributed/test_packed_tensor.py
983
+ - pytest -v -s tests/distributed/test_rocm_aiter_custom_ar.py
984
+ - pytest -v -s tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
985
+ - pytest -v -s tests/distributed/test_rocm_quick_reduce.py
986
+ - pytest -v -s tests/distributed/test_quick_all_reduce.py
987
988
- label: ":amd: (MI300) Distributed" # TBD
989
timeout_in_minutes: 40
@@ -993,7 +1138,7 @@ steps:
1138
#---------------------------------------------------------- mi300 · engine -----------------------------------------------------------#
1139
1140
- label: ":amd: (MI300) Engine Core" # TBD
996
- timeout_in_minutes: 35
1141
+ timeout_in_minutes: 40
1142
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1143
dind: false
1144
agent_pool: mi300_1
@@ -1008,6 +1153,17 @@ steps:
1153
- tests/test_vllm_port
1154
- tests/jit_monitor/test_hooks.py
1155
- tests/jit_monitor/test_hooks_gpu.py
1156
+ - vllm/compilation/
1157
+ - vllm/config/
1158
+ - vllm/engine/
1159
+ - vllm/entrypoints/logger.py
1160
+ - vllm/envs.py
1161
+ - vllm/logger.py
1162
+ - vllm/logging_utils/
1163
+ - vllm/platforms/
1164
+ - vllm/sequence.py
1165
+ - vllm/triton_utils/
1166
+ - vllm/utils/
1167
commands:
1168
- pytest -v -s engine test_sequence.py test_config.py test_logger.py test_vllm_port.py jit_monitor/test_hooks.py jit_monitor/test_hooks_gpu.py
1169
@@ -1049,8 +1205,9 @@ steps:
1205
- pytest -v -s entrypoints/llm/test_generate.py # it needs a clean process
1206
- pytest -v -s entrypoints/llm/offline_mode # Needs to avoid interference with other tests
1207
1052
-- label: ":amd: (MI300) Entrypoints Integration (API Server)" # TBD
1208
+- label: ":amd: (MI300) Entrypoints Integration (API Server) %N"
1209
timeout_in_minutes: 65
1210
+ parallelism: 4
1211
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1212
dind: false
1213
agent_pool: mi300_1
@@ -1063,12 +1220,12 @@ steps:
1220
- tests/entrypoints/scale_out
1221
commands:
1222
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1066
- - pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc
1067
- - PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc
1068
- - pytest -v -s entrypoints/scale_out
1223
+ - pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
1224
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc; fi
1225
+ - pytest -v -s entrypoints/scale_out --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
1226
1227
- label: ":amd: (MI300) Entrypoints Integration (OpenAI API completion)" # TBD
1071
- timeout_in_minutes: 40
1228
+ timeout_in_minutes: 65
1229
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1230
dind: false
1231
agent_pool: mi300_1
@@ -1081,10 +1238,10 @@ steps:
1238
commands:
1239
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1240
- pytest -v -s entrypoints/openai/completion --ignore=entrypoints/openai/completion/test_tensorizer_entrypoint.py
1084
- - pytest -v -s entrypoints/openai/ --ignore=entrypoints/openai/completion --ignore=entrypoints/openai/chat_completion --ignore=entrypoints/openai/responses --ignore=entrypoints/openai/correctness
1241
+ - pytest -v -s entrypoints/openai --ignore=entrypoints/openai/completion --ignore=entrypoints/openai/chat_completion --ignore=entrypoints/openai/responses --ignore=entrypoints/openai/correctness
1242
1243
- label: ":amd: (MI300) Entrypoints Integration (OpenAI API chat_completion)" # TBD
1087
- timeout_in_minutes: 55
1244
+ timeout_in_minutes: 70
1245
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1246
dind: false
1247
agent_pool: mi300_1
@@ -1114,7 +1271,6 @@ steps:
1271
- tests/entrypoints/cohere
1272
- tests/entrypoints/generate
1273
commands:
1117
- - export VLLM_WORKER_MULTIPROC_METHOD=spawn
1274
- pytest -v -s tool_use
1275
- pytest -v -s entrypoints/tool_parsers
1276
- pytest -v -s entrypoints/generate
@@ -1122,7 +1278,7 @@ steps:
1278
- pytest -v -s entrypoints/cohere
1279
1280
- label: ":amd: (MI300) Entrypoints Integration (Responses API)" # TBD
1125
- timeout_in_minutes: 45
1281
+ timeout_in_minutes: 50
1282
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1283
dind: false
1284
agent_pool: mi300_1
@@ -1133,7 +1289,6 @@ steps:
1289
- vllm/
1290
- tests/entrypoints/openai/responses
1291
commands:
1136
- - export VLLM_WORKER_MULTIPROC_METHOD=spawn
1292
- pytest -v -s entrypoints/openai/responses
1293
1294
- label: ":amd: (MI300) Entrypoints Integration (Speech to Text)" # TBD
@@ -1146,6 +1301,7 @@ steps:
1301
source_file_dependencies:
1302
- vllm/
1303
- tests/entrypoints/speech_to_text
1304
+ optional: true
1305
commands:
1306
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1307
- pytest -v -s entrypoints/speech_to_text
@@ -1181,7 +1337,7 @@ steps:
1337
- pytest -v -s entrypoints/pooling
1338
1339
- label: ":amd: (MI300) OpenAI API Correctness" # TBD
1184
- timeout_in_minutes: 25
1340
+ timeout_in_minutes: 30
1341
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1342
dind: false
1343
agent_pool: mi300_1
@@ -1220,11 +1376,12 @@ steps:
1376
- .buildkite/scripts/scheduled_integration_test/
1377
- vllm/_aiter_ops.py
1378
- vllm/platforms/rocm.py
1379
+ optional: true
1380
commands:
1381
- bash .buildkite/scripts/scheduled_integration_test/deepseek_v2_lite_prefetch_offload.sh 0.25 200 8030
1382
1383
- label: ":amd: (MI300) LM Eval Small Models" # TBD
1227
- timeout_in_minutes: 40
1384
+ timeout_in_minutes: 45
1385
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1386
dind: false
1387
agent_pool: mi300_1
@@ -1238,11 +1395,12 @@ steps:
1395
- vllm/v1/attention/selector.py
1396
- vllm/_aiter_ops.py
1397
- vllm/platforms/rocm.py
1398
+ optional: true
1399
commands:
1400
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small.txt
1401
1402
- label: ":amd: (MI300) MRCR Eval Small Models" # TBD
1245
- timeout_in_minutes: 35
1403
+ timeout_in_minutes: 40
1404
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1405
dind: false
1406
agent_pool: mi300_1
@@ -1275,11 +1433,12 @@ steps:
1433
- vllm/v1/attention/selector.py
1434
- vllm/_aiter_ops.py
1435
- vllm/platforms/rocm.py
1436
+ - .buildkite/lm-eval-harness/
1437
commands:
1438
- pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-small-rocm.txt
1439
1440
- label: ":amd: (MI300) Multimodal Accuracy Eval (Small Models)" # TBD
1282
- timeout_in_minutes: 30
1441
+ timeout_in_minutes: 35
1442
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1443
dind: false
1444
agent_pool: mi300_1
@@ -1295,7 +1454,7 @@ steps:
1454
- pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-mm-small.txt --tp-size=1
1455
1456
- label: ":amd: (MI300) GPQA Eval (GPT-OSS)" # TBD
1298
- timeout_in_minutes: 30
1457
+ timeout_in_minutes: 40
1458
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1459
dind: false
1460
agent_pool: mi300_2
@@ -1317,7 +1476,7 @@ steps:
1476
- uv pip install --system 'gpt-oss[eval]==0.0.5'
1477
- pytest -s -v evals/gpt_oss/test_gpqa_correctness.py --config-list-file=configs/models-gfx942.txt
1478
1320
-- label: ":amd: (MI300) LM Eval Small Models FP8 + Mixed" # TBD
1479
+- label: ":amd: (MI300) LM Eval Small Models Distributed"
1480
timeout_in_minutes: 55
1481
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1482
dind: false
@@ -1333,6 +1492,8 @@ steps:
1492
- vllm/v1/attention/selector.py
1493
- vllm/_aiter_ops.py
1494
- vllm/platforms/rocm.py
1495
+ - tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
1496
+ optional: true
1497
commands:
1498
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx-fp8-and-mixed.txt
1499
@@ -1517,7 +1678,7 @@ steps:
1678
#--------------------------------------------------------- mi300 · examples ----------------------------------------------------------#
1679
1680
- label: ":amd: (MI300) Examples" # TBD
1520
- timeout_in_minutes: 50
1681
+ timeout_in_minutes: 75
1682
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1683
dind: false
1684
agent_pool: mi300_1
@@ -1529,27 +1690,27 @@ steps:
1690
- examples/
1691
- vllm/platforms/rocm.py
1692
commands:
1532
- - pip install tensorizer
1693
# Basic
1534
- - python3 basic/offline_inference/chat.py
1535
- - python3 basic/offline_inference/generate.py --model facebook/opt-125m
1536
- - python3 basic/offline_inference/generate.py --model meta-llama/Llama-2-13b-chat-hf --cpu-offload-gb 10
1537
- - python3 basic/offline_inference/classify.py
1538
- - python3 basic/offline_inference/embed.py
1539
- - python3 basic/offline_inference/score.py
1694
# Multi-modal models
1541
- - python3 generate/multimodal/audio_language_offline.py --seed 0
1542
- - python3 generate/multimodal/vision_language_offline.py --seed 0
1543
- - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1544
- - python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
1695
# Pooling models
1546
- - python3 pooling/embed/vision_embedding_offline.py --seed 0
1696
# Features demo
1548
- - python3 features/automatic_prefix_caching/prefix_caching_offline.py
1549
- - python3 deployment/llm_engine_example.py
1550
- - python3 features/tensorize_vllm_model.py --model facebook/opt-125m serialize --serialized-directory /tmp/ --suffix v1 && python3 features/tensorize_vllm_model.py --model facebook/opt-125m deserialize --path-to-tensors /tmp/vllm/facebook/opt-125m/v1/model.tensors
1551
- - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 2048
1552
- - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle3 --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 1536
1697
+ - pip install --no-deps tensorizer
1698
+ - python3 basic/offline_inference/chat.py
1699
+ - python3 basic/offline_inference/generate.py --model facebook/opt-125m
1700
+ - python3 basic/offline_inference/generate.py --model meta-llama/Llama-2-13b-chat-hf --cpu-offload-gb 10
1701
+ - python3 basic/offline_inference/classify.py
1702
+ - python3 basic/offline_inference/embed.py
1703
+ - python3 basic/offline_inference/score.py
1704
+ - python3 generate/multimodal/audio_language_offline.py --seed 0
1705
+ - python3 generate/multimodal/vision_language_offline.py --seed 0
1706
+ - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1707
+ - python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
1708
+ - python3 pooling/embed/vision_embedding_offline.py --seed 0
1709
+ - python3 features/automatic_prefix_caching/prefix_caching_offline.py
1710
+ - python3 deployment/llm_engine_example.py
1711
+ - python3 features/tensorize_vllm_model.py --model facebook/opt-125m serialize --serialized-directory /tmp/ --suffix v1 && python3 features/tensorize_vllm_model.py --model facebook/opt-125m deserialize --path-to-tensors /tmp/vllm/facebook/opt-125m/v1/model.tensors
1712
+ - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 2048
1713
+ - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle3 --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 1536
1714
1715
#---------------------------------------------------------- mi300 · kernels ----------------------------------------------------------#
1716
@@ -1565,6 +1726,8 @@ steps:
1726
- vllm/kernels
1727
- vllm/_aiter_ops.py
1728
- vllm/platforms/rocm.py
1729
+ - tests/ir/
1730
+ - tests/kernels/ir/
1731
commands:
1732
- pytest -v -s tests/ir
1733
- pytest -v -s tests/kernels/ir
@@ -1584,15 +1747,16 @@ steps:
1747
- tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
1748
- tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
1749
- tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
1750
+ optional: true
1751
commands:
1588
- - rocm-smi
1752
+ - amd-smi
1753
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
1754
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode.py
1755
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
1756
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
1757
1758
- label: ":amd: (MI300) Attention Kernels Shard %N" # TBD
1595
- timeout_in_minutes: 70
1759
+ timeout_in_minutes: 90
1760
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1761
dind: false
1762
agent_pool: mi300_1
@@ -1607,27 +1771,10 @@ steps:
1771
- vllm/_aiter_ops.py
1772
- vllm/envs.py
1773
- vllm/platforms/rocm.py
1774
+ - vllm/utils/flashinfer.py
1775
commands:
1776
- pytest -v -s kernels/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
1777
1613
-- label: ":amd: (MI300) Core Operation Kernels Shard %N" # TBD
1614
- timeout_in_minutes: 40
1615
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1616
- dind: false
1617
- agent_pool: mi300_1
1618
- parallelism: 3
1619
- working_dir: "/vllm-workspace/tests"
1620
- source_file_dependencies:
1621
- - csrc/
1622
- - tests/kernels/core
1623
- - tests/kernels/test_top_k_per_row.py
1624
- - tests/kernels/test_concat_mla_q.py
1625
- - vllm/model_executor/layers/rotary_embedding/
1626
- - vllm/_aiter_ops.py
1627
- - vllm/platforms/rocm.py
1628
- commands:
1629
- - pytest -v -s kernels/core --ignore=kernels/core/test_minimax_reduce_rms.py kernels/test_concat_mla_q.py kernels/test_top_k_per_row.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
1630
-
1778
- label: ":amd: (MI300) MiniMax Reduce RMS Kernels" # TBD
1779
timeout_in_minutes: 45
1780
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -1643,6 +1790,12 @@ steps:
1790
- vllm/platforms/rocm.py
1791
- tests/kernels/core/test_minimax_reduce_rms.py
1792
- tests/utils.py
1793
+ - csrc/libtorch_stable/minimax_reduce_rms_kernel.cu
1794
+ - csrc/libtorch_stable/minimax_reduce_rms_kernel.h
1795
+ - csrc/libtorch_stable/ops.h
1796
+ - csrc/libtorch_stable/torch_bindings.cpp
1797
+ - vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py
1798
+ optional: true
1799
commands:
1800
- pytest -v -s kernels/core/test_minimax_reduce_rms.py
1801
@@ -1667,7 +1820,7 @@ steps:
1820
- pytest -v -s models/kimi_k3/test_kda.py models/kimi_k3/test_kda_metadata.py
1821
1822
- label: ":amd: (MI300) Mamba Kernels" # TBD
1670
- timeout_in_minutes: 50
1823
+ timeout_in_minutes: 55
1824
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1825
dind: false
1826
agent_pool: mi300_1
@@ -1682,7 +1835,7 @@ steps:
1835
- pytest -v -s kernels/mamba
1836
1837
- label: ":amd: (MI300) MoE Kernels Shard %N" # TBD
1685
- timeout_in_minutes: 50
1838
+ timeout_in_minutes: 55
1839
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1840
dind: false
1841
agent_pool: mi300_1
@@ -1708,8 +1861,9 @@ steps:
1861
- pytest -v -s kernels/moe/test_modular_oai_triton_moe.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
1862
- VLLM_ROCM_USE_AITER=1 VLLM_ROCM_USE_AITER_MOE=1 pytest -v -s kernels/moe/test_modular_kernel_combinations.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
1863
1711
-- label: ":amd: (MI300) Quantization Kernels" # TBD
1712
- timeout_in_minutes: 55
1864
+- label: ":amd: (MI300) Quantization Kernels Shard %N"
1865
+ timeout_in_minutes: 120
1866
+ parallelism: 6
1867
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1868
dind: false
1869
agent_pool: mi300_1
@@ -1729,8 +1883,10 @@ steps:
1883
- vllm/platforms/rocm.py
1884
- vllm/model_executor/kernels/
1885
- vllm/v1/attention/backends/rocm_aiter_fa.py
1886
+ - vllm/config/
1887
+ - tests/kernels/quantization/test_rocm_skinny_gemms.py
1888
commands:
1733
- - pytest -v -s kernels/quantization
1889
+ - pytest -v -s kernels/quantization --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
1890
1891
- label: ":amd: (MI300) DeepEP FP8 MoE Kernels" # TBD
1892
timeout_in_minutes: 55
@@ -1754,7 +1910,7 @@ steps:
1910
#----------------------------------------------------------- mi300 · lora ------------------------------------------------------------#
1911
1912
- label: ":amd: (MI300) LoRA Shard %N" # TBD
1757
- timeout_in_minutes: 40
1913
+ timeout_in_minutes: 85
1914
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1915
dind: false
1916
agent_pool: mi300_1
@@ -1768,8 +1924,9 @@ steps:
1924
commands:
1925
- pytest -v -s lora --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --ignore=lora/test_chatglm3_tp.py --ignore=lora/test_llama_tp.py --ignore=lora/test_qwen3_with_multi_loras.py --ignore=lora/test_olmoe_tp.py --ignore=lora/test_deepseekv2_tp.py --ignore=lora/test_gptoss_tp.py --ignore=lora/test_qwen3moe_tp.py --ignore=lora/test_qwen35_densemodel_lora.py
1926
1771
-- label: ":amd: (MI300) LoRA TP (Distributed)" # TBD
1927
+- label: ":amd: (MI300) LoRA TP (Distributed) %N"
1928
timeout_in_minutes: 65
1929
+ parallelism: 4
1930
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1931
dind: false
1932
agent_pool: mi300_4
@@ -1780,14 +1937,17 @@ steps:
1937
- vllm/model_executor/layers/fused_moe/
1938
- tests/lora
1939
- vllm/platforms/rocm.py
1940
+ optional: true
1941
commands:
1784
- - pytest -v -s -x lora/test_chatglm3_tp.py
1785
- - pytest -v -s -x lora/test_llama_tp.py
1786
- - pytest -v -s -x lora/test_qwen3_with_multi_loras.py
1787
- - pytest -v -s -x lora/test_olmoe_tp.py
1788
- - pytest -v -s -x lora/test_gptoss_tp.py
1789
- - pytest -v -s -x lora/test_qwen35_densemodel_lora.py
1790
- - pytest -v -s -x lora/test_gemma4_tp.py
1942
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
1943
+ - case "$$BUILDKITE_PARALLEL_JOB" in 0|1|2|3) ;; *) echo "unexpected BUILDKITE_PARALLEL_JOB=$$BUILDKITE_PARALLEL_JOB" && exit 1;; esac
1944
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "3" ]; then pytest -v -s -x lora/test_chatglm3_tp.py; fi
1945
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s -x lora/test_llama_tp.py; fi
1946
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "3" ]; then pytest -v -s -x lora/test_qwen3_with_multi_loras.py; fi
1947
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s -x lora/test_olmoe_tp.py; fi
1948
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s -x lora/test_gptoss_tp.py; fi
1949
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s -x lora/test_qwen35_densemodel_lora.py; fi
1950
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s -x lora/test_gemma4_tp.py; fi
1951
1952
#------------------------------------------------------ mi300 · model_executor -------------------------------------------------------#
1953
@@ -1806,189 +1966,50 @@ steps:
1966
- tests/entrypoints/openai/completion/test_tensorizer_entrypoint.py
1967
- vllm/_aiter_ops.py
1968
- vllm/platforms/rocm.py
1969
+ - vllm/model_executor/warmup
1970
+ - tests/model_executor/test_jit_warmup.py
1971
+ - tests/model_executor/test_jit_warmup_cutedsl_launcher.py
1972
+ - tests/model_executor/test_jit_warmup_triton_launcher.py
1973
commands:
1974
- apt-get update && apt-get install -y curl libsodium23
1975
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1812
- - pytest -v -s model_executor -m '(not slow_test)'
1813
- - pytest -v -s entrypoints/openai/completion/test_tensorizer_entrypoint.py
1976
+ - export PYTHONFAULTHANDLER=1
1977
+ - pytest -v -s model_executor -m '(not slow_test)' --timeout=900 --timeout-method=thread
1978
+ - pytest -v -s entrypoints/openai/completion/test_tensorizer_entrypoint.py --timeout=900 --timeout-method=thread
1979
1815
-#---------------------------------------------------- mi300 · model_runner_v2 -------------------------------------------------------#
1980
+#------------------------------------------------------ mi300 · models / basic -------------------------------------------------------#
1981
1817
-- label: ":amd: (MI300) Model Runner V2 Core" # TBD
1818
- timeout_in_minutes: 55
1982
+- label: ":amd: (MI300) Basic Models (Initialization)" # TBD
1983
+ timeout_in_minutes: 30
1984
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1985
dind: false
1986
agent_pool: mi300_1
1822
- optional: true
1987
working_dir: "/vllm-workspace/tests"
1988
source_file_dependencies:
1825
- - vllm/v1/worker/gpu/
1826
- - vllm/v1/worker/gpu_worker.py
1827
- - vllm/v1/core/sched/
1828
- - vllm/v1/attention/
1829
- - tests/v1/engine/test_llm_engine.py
1830
- - tests/v1/e2e/
1831
- - tests/entrypoints/llm/test_struct_output_generate.py
1832
- - vllm/platforms/rocm.py
1989
+ - vllm/
1990
+ - tests/models/test_initialization.py
1991
+ - tests/models/registry.py
1992
+ optional: true
1993
commands:
1834
- - set -x
1835
- - export VLLM_USE_V2_MODEL_RUNNER=1
1836
- - pytest -v -s v1/engine/test_llm_engine.py -k "not test_engine_metrics"
1837
- - pytest -v -s v1/e2e/general/test_async_scheduling.py -k "not ngram"
1838
- - pytest -v -s v1/e2e/general/test_context_length.py
1839
- - pytest -v -s v1/e2e/general/test_min_tokens.py
1840
- - pytest -v -s entrypoints/llm/test_struct_output_generate.py -k "xgrammar and not speculative_config6 and not speculative_config7 and not speculative_config8 and not speculative_config0"
1994
+ - pytest -v -s models/test_initialization.py::test_can_initialize_small_subset
1995
1842
-- label: ":amd: (MI300) Model Runner V2 Examples" # TBD
1843
- timeout_in_minutes: 40
1996
+- label: ":amd: (MI300) Basic Models (Other)" # TBD
1997
+ timeout_in_minutes: 65
1998
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1999
dind: false
2000
agent_pool: mi300_1
2001
optional: true
1848
- working_dir: "/vllm-workspace/examples"
2002
+ working_dir: "/vllm-workspace/tests"
2003
source_file_dependencies:
1850
- - vllm/v1/worker/gpu/
1851
- - vllm/v1/core/sched/
1852
- - vllm/v1/worker/gpu_worker.py
1853
- - examples/basic/offline_inference/
1854
- - examples/generate/multimodal/
1855
- - examples/features/
1856
- - examples/pooling/embed/vision_embedding_offline.py
1857
- - examples/features/tensorize_vllm_model.py
1858
- - examples/deployment/llm_engine_example.py
1859
- - vllm/platforms/rocm.py
2004
+ - vllm/
2005
+ - tests/models/test_terratorch.py
2006
+ - tests/models/transformers/test_backend.py
2007
+ - tests/models/test_registry.py
2008
+ - tests/models/test_hyv4_rocm.py
2009
+ - tests/models/test_vision.py
2010
+ - tests/models/test_deepseek_v4_vl_rocm.py
2011
commands:
1861
- - set -x
1862
- - export VLLM_USE_V2_MODEL_RUNNER=1
1863
- - pip install tensorizer
1864
- - python3 basic/offline_inference/chat.py
1865
- - python3 basic/offline_inference/generate.py --model facebook/opt-125m
1866
- - python3 generate/multimodal/audio_language_offline.py --seed 0
1867
- - python3 generate/multimodal/vision_language_offline.py --seed 0
1868
- - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1869
- - python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
1870
- - python3 pooling/embed/vision_embedding_offline.py --seed 0
1871
- - python3 features/automatic_prefix_caching/prefix_caching_offline.py
1872
- - python3 deployment/llm_engine_example.py
1873
- - python3 features/tensorize_vllm_model.py --model facebook/opt-125m serialize --serialized-directory /tmp/ --suffix v1 && python3 features/tensorize_vllm_model.py --model facebook/opt-125m deserialize --path-to-tensors /tmp/vllm/facebook/opt-125m/v1/model.tensors
1874
- - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 2048
1875
- - python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle3 --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 1536
1876
-
1877
-- label: ":amd: (MI300) Model Runner V2 Distributed" # TBD
1878
- timeout_in_minutes: 45
1879
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1880
- dind: false
1881
- agent_pool: mi300_2
1882
- num_gpus: 2
1883
- optional: true
1884
- working_dir: "/vllm-workspace/tests"
1885
- source_file_dependencies:
1886
- - vllm/v1/worker/gpu/
1887
- - vllm/v1/worker/gpu_worker.py
1888
- - tests/basic_correctness/test_basic_correctness.py
1889
- - tests/v1/distributed/test_async_llm_dp.py
1890
- - tests/v1/distributed/test_eagle_dp.py
1891
- - vllm/platforms/rocm.py
1892
- commands:
1893
- - set -x
1894
- - export VLLM_USE_V2_MODEL_RUNNER=1
1895
- - TARGET_TEST_SUITE=MI300 pytest -v -s basic_correctness/test_basic_correctness.py -m 'distributed(num_gpus=2)' -k "not ray and not True"
1896
- - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_async_llm_dp.py -k "not ray"
1897
- - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_eagle_dp.py
1898
-
1899
-- label: ":amd: (MI300) Model Runner V2 Pipeline Parallelism" # TBD
1900
- timeout_in_minutes: 65
1901
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1902
- dind: false
1903
- agent_pool: mi300_4
1904
- num_gpus: 4
1905
- optional: true
1906
- working_dir: "/vllm-workspace/tests"
1907
- source_file_dependencies:
1908
- - vllm/v1/worker/gpu/
1909
- - vllm/v1/worker/gpu_worker.py
1910
- - tests/distributed/test_pipeline_parallel.py
1911
- - tests/distributed/test_pp_cudagraph.py
1912
- - vllm/platforms/rocm.py
1913
- commands:
1914
- - set -x
1915
- - export VLLM_USE_V2_MODEL_RUNNER=1
1916
- - pytest -v -s distributed/test_pipeline_parallel.py -k "not ray"
1917
- - pytest -v -s distributed/test_pp_cudagraph.py -k "not ray"
1918
-
1919
-- label: ":amd: (MI300) Model Runner V2 Spec Decode" # TBD
1920
- timeout_in_minutes: 90
1921
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1922
- dind: false
1923
- agent_pool: mi300_1
1924
- optional: true
1925
- working_dir: "/vllm-workspace/tests"
1926
- source_file_dependencies:
1927
- - vllm/v1/worker/gpu/
1928
- - vllm/v1/worker/gpu_worker.py
1929
- - tests/v1/spec_decode/test_max_len.py
1930
- - tests/v1/spec_decode/test_rejection_sampler_utils.py
1931
- - tests/v1/spec_decode/test_synthetic_rejection_sampler_utils.py
1932
- - tests/v1/e2e/spec_decode/
1933
- - vllm/platforms/rocm.py
1934
- commands:
1935
- - set -x
1936
- - export VLLM_USE_V2_MODEL_RUNNER=1
1937
- - pytest -v -s v1/spec_decode/test_max_len.py -k "eagle or mtp"
1938
- - pytest -v -s v1/spec_decode/test_rejection_sampler_utils.py
1939
- - pytest -v -s v1/spec_decode/test_synthetic_rejection_sampler_utils.py
1940
- - pytest -v -s v1/e2e/spec_decode/eagle/
1941
- - pytest -v -s v1/e2e/spec_decode/speculators/
1942
- - pytest -v -s v1/e2e/spec_decode/mtp/
1943
-
1944
-#------------------------------------------------------ mi300 · models / basic -------------------------------------------------------#
1945
-
1946
-- label: ":amd: (MI300) Basic Models (Extra Initialization) Shard %N" # TBD
1947
- timeout_in_minutes: 60
1948
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1949
- dind: false
1950
- agent_pool: mi300_1
1951
- parallelism: 6
1952
- working_dir: "/vllm-workspace/tests"
1953
- source_file_dependencies:
1954
- - vllm/model_executor/models/
1955
- - vllm/model_executor/layers/
1956
- - tests/models/test_initialization.py
1957
- - tests/models/registry.py
1958
- - vllm/_aiter_ops.py
1959
- - vllm/platforms/rocm.py
1960
- commands:
1961
- - pytest -v -s models/test_initialization.py -k 'not test_can_initialize_small_subset' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
1962
-
1963
-- label: ":amd: (MI300) Basic Models (Initialization)" # TBD
1964
- timeout_in_minutes: 30
1965
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1966
- dind: false
1967
- agent_pool: mi300_1
1968
- working_dir: "/vllm-workspace/tests"
1969
- source_file_dependencies:
1970
- - vllm/
1971
- - tests/models/test_initialization.py
1972
- - tests/models/registry.py
1973
- commands:
1974
- - pytest -v -s models/test_initialization.py::test_can_initialize_small_subset
1975
-
1976
-- label: ":amd: (MI300) Basic Models (Other)" # TBD
1977
- timeout_in_minutes: 65
1978
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1979
- dind: false
1980
- agent_pool: mi300_1
1981
- optional: true
1982
- working_dir: "/vllm-workspace/tests"
1983
- source_file_dependencies:
1984
- - vllm/
1985
- - tests/models/test_terratorch.py
1986
- - tests/models/transformers/test_backend.py
1987
- - tests/models/test_registry.py
1988
- - tests/models/test_hyv4_rocm.py
1989
- - tests/models/test_vision.py
1990
- commands:
1991
- - pytest -v -s models/test_terratorch.py models/transformers/test_backend.py models/test_registry.py
2012
+ - pytest -v -s models/test_terratorch.py models/transformers/test_backend.py models/test_registry.py models/test_deepseek_v4_vl_rocm.py
2013
- VLLM_ROCM_USE_AITER=1 pytest -v -s models/test_hyv4_rocm.py -m 'not distributed'
2014
- pytest -v -s models/test_vision.py::test_simple_mrope_vision_model_spatial_merge
2015
@@ -2007,8 +2028,9 @@ steps:
2028
commands:
2029
- pytest -v -s models/language/pooling_mteb_test
2030
2010
-- label: ":amd: (MI300) Language Models (Extended Pooling)" # TBD
2011
- timeout_in_minutes: 80
2031
+- label: ":amd: (MI300) Language Models (Extended Pooling) Shard %N"
2032
+ timeout_in_minutes: 95
2033
+ parallelism: 4
2034
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2035
dind: false
2036
agent_pool: mi300_1
@@ -2018,10 +2040,10 @@ steps:
2040
- vllm/
2041
- tests/models/language/pooling
2042
commands:
2021
- - pytest -v -s models/language/pooling -m 'not core_model'
2043
+ - pytest -v -s models/language/pooling -m 'not core_model' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
2044
2045
- label: ":amd: (MI300) Language Models (Standard)" # TBD
2024
- timeout_in_minutes: 45
2046
+ timeout_in_minutes: 60
2047
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2048
dind: false
2049
agent_pool: mi300_1
@@ -2072,22 +2094,6 @@ steps:
2094
- CAUSAL_CONV1D_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/Dao-AILab/causal-conv1d@v1.6.0'
2095
- pytest -v -s models/language/generation -m '(not core_model) and (not hybrid_model)'
2096
2075
-- label: ":amd: (MI300) Language Models (Hybrid) Shard %N" # TBD
2076
- timeout_in_minutes: 65
2077
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2078
- dind: false
2079
- agent_pool: mi300_1
2080
- parallelism: 2
2081
- optional: true
2082
- working_dir: "/vllm-workspace/tests"
2083
- source_file_dependencies:
2084
- - vllm/
2085
- - tests/models/language/generation
2086
- commands:
2087
- - MAMBA_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/AndreasKaratzas/mamba@fix-rocm-7.0-warp-size-constexpr'
2088
- - CAUSAL_CONV1D_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/Dao-AILab/causal-conv1d@v1.6.0'
2089
- - pytest -v -s models/language/generation -m hybrid_model --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
2090
-
2097
#---------------------------------------------------- mi300 · models / multimodal ----------------------------------------------------#
2098
2099
- label: ":amd: (MI300) Multimodal Models (Extended Generation 1)" # TBD
@@ -2105,8 +2111,9 @@ steps:
2111
- pytest -v -s models/multimodal/generation -m 'not core_model' --ignore models/multimodal/generation/test_common.py
2112
- pytest -v -s models/multimodal/test_mapping.py
2113
2108
-- label: ":amd: (MI300) Multimodal Models (Extended Generation 2)" # TBD
2109
- timeout_in_minutes: 65
2114
+- label: ":amd: (MI300) Multimodal Models (Extended Generation 2) Shard %N"
2115
+ timeout_in_minutes: 100
2116
+ parallelism: 4
2117
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2118
dind: false
2119
agent_pool: mi300_1
@@ -2116,11 +2123,11 @@ steps:
2123
- vllm/
2124
- tests/models/multimodal/generation
2125
commands:
2119
- - pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=0) and not core_model'
2126
+ - pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=0) and not core_model' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
2127
2128
2129
- label: ":amd: (MI300) Multimodal Models (Extended Generation 3)" # TBD
2123
- timeout_in_minutes: 55
2130
+ timeout_in_minutes: 90
2131
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2132
dind: false
2133
agent_pool: mi300_1
@@ -2133,7 +2140,7 @@ steps:
2140
- pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=1) and not core_model'
2141
2142
- label: ":amd: (MI300) Multimodal Models (Standard) 1: qwen2" # TBD
2136
- timeout_in_minutes: 45
2143
+ timeout_in_minutes: 65
2144
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2145
dind: false
2146
agent_pool: mi300_1
@@ -2147,7 +2154,7 @@ steps:
2154
- pytest -v -s models/multimodal/generation/test_ultravox.py -m core_model
2155
2156
- label: ":amd: (MI300) Multimodal Models (Standard) 3: llava + qwen2_vl" # TBD
2150
- timeout_in_minutes: 40
2157
+ timeout_in_minutes: 55
2158
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2159
dind: false
2160
agent_pool: mi300_1
@@ -2157,27 +2164,13 @@ steps:
2164
- vllm/
2165
- tests/models/multimodal/generation
2166
- tests/models/multimodal/test_mapping.py
2167
+ - tests/models/multimodal
2168
commands:
2169
- pytest -v -s models/multimodal/generation/test_common.py -m core_model -k "not qwen2 and not qwen3 and not gemma"
2170
- pytest -v -s models/multimodal/generation/test_qwen2_vl.py -m core_model
2171
2164
-- label: ":amd: (MI300) Multimodal Models (Standard) 4: other + whisper" # TBD
2165
- timeout_in_minutes: 70
2166
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2167
- dind: false
2168
- agent_pool: mi300_1
2169
- working_dir: "/vllm-workspace/tests"
2170
- source_file_dependencies:
2171
- - vllm/
2172
- - tests/models/multimodal
2173
- commands:
2174
- - pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_mm_prefix_lm.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/generation/test_vit_cudagraph.py --ignore models/multimodal/processing
2175
- - pytest -v -s models/multimodal/generation/test_vit_cudagraph.py -m core_model
2176
- - pytest -v -s models/multimodal/generation/test_memory_leak.py -m core_model
2177
- - cd .. && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model
2178
-
2172
- label: ":amd: (MI300) Multimodal Processor Shard %N" # TBD
2180
- timeout_in_minutes: 110
2173
+ timeout_in_minutes: 115
2174
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2175
dind: false
2176
agent_pool: mi300_1
@@ -2205,7 +2198,7 @@ steps:
2198
- pytest -v -s models/multimodal/pooling -m 'not core_model'
2199
2200
- label: ":amd: (MI300) Multimodal Models (Standard) 2: qwen3 + gemma" # TBD
2208
- timeout_in_minutes: 50
2201
+ timeout_in_minutes: 55
2202
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2203
dind: false
2204
agent_pool: mi300_1
@@ -2233,7 +2226,9 @@ steps:
2226
- vllm/platforms/rocm.py
2227
- tests/models/quantization
2228
- vllm/model_executor/model_loader/
2229
+ optional: true
2230
commands:
2231
+ - unset VLLM_USE_V2_MODEL_RUNNER
2232
- pytest -v -s models/quantization
2233
2234
#-------------------------------------------------- mi300 · models / transformers ---------------------------------------------------#
@@ -2311,7 +2306,7 @@ steps:
2306
#---------------------------------------------------------- mi300 · plugins ----------------------------------------------------------#
2307
2308
- label: ":amd: (MI300) Plugin Integration" # TBD
2314
- timeout_in_minutes: 35
2309
+ timeout_in_minutes: 50
2310
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2311
dind: false
2312
agent_pool: mi300_2
@@ -2324,43 +2319,43 @@ steps:
2319
- vllm/platforms/rocm.py
2320
commands:
2321
# BEGIN: platform plugin and general plugin tests, all the code in-between runs on dummy platform
2322
+ # END: platform plugin tests
2323
+ # BEGIN: `io_processor` plugins test, all the code in between uses the `prithvi_io_processor` plugin
2324
+ # END: `io_processor` plugins test
2325
+ # BEGIN: `bge_m3_sparse io_processor` test
2326
+ # END: `bge_m3_sparse io_processor` test
2327
+ # BEGIN: `colbert_query io_processor` test
2328
+ # END: `colbert_query io_processor` test
2329
+ # BEGIN: `stat_logger` plugins test
2330
+ # END: `stat_logger` plugins test
2331
+ # BEGIN: `endpoint` plugins test
2332
+ # END: `endpoint` plugins test
2333
+ # BEGIN: other tests
2334
- pip install -e ./plugins/vllm_add_dummy_platform
2335
- pytest -v -s plugins_tests/test_platform_plugins.py
2336
- pip uninstall vllm_add_dummy_platform -y
2330
- # END: platform plugin tests
2331
- # BEGIN: `io_processor` plugins test, all the code in between uses the `prithvi_io_processor` plugin
2337
+ - pytest -v -s ./plugins_tests/test_io_processor_plugins.py
2338
- pip install -e ./plugins/prithvi_io_processor_plugin
2333
- - pytest -v -s plugins_tests/test_io_processor_plugins.py
2339
- pytest -v -s plugins_tests/test_terratorch_io_processor_plugins.py
2340
- pip uninstall prithvi_io_processor_plugin -y
2336
- # END: `io_processor` plugins test
2337
- # BEGIN: `bge_m3_sparse io_processor` test
2341
- pip install -e ./plugins/bge_m3_sparse_plugin
2342
- pytest -v -s plugins_tests/test_bge_m3_sparse_io_processor_plugins.py
2343
- pip uninstall bge_m3_sparse_plugin -y
2341
- # END: `bge_m3_sparse io_processor` test
2342
- # BEGIN: `colbert_query io_processor` test
2344
- pip install -e ./plugins/colbert_query_plugin
2345
- pytest -v -s plugins_tests/test_colbert_query_io_processor_plugins.py
2346
- pip uninstall colbert_query_plugin -y
2346
- # END: `colbert_query io_processor` test
2347
- # BEGIN: `stat_logger` plugins test
2347
- pip install -e ./plugins/vllm_add_dummy_stat_logger
2348
- pytest -v -s plugins_tests/test_stats_logger_plugins.py
2349
- pip uninstall dummy_stat_logger -y
2351
- # END: `stat_logger` plugins test
2352
- # BEGIN: `endpoint` plugins test
2350
- pip install -e ./plugins/vllm_add_dummy_endpoint_plugin
2351
- pytest -v -s plugins_tests/test_endpoint_plugins.py
2352
- pip uninstall vllm_add_dummy_endpoint_plugin -y
2356
- # END: `endpoint` plugins test
2357
- # BEGIN: other tests
2353
- pytest -v -s plugins_tests/test_scheduler_plugins.py
2354
- pip install -e ./plugins/vllm_add_dummy_model
2355
- pytest -v -s distributed/test_distributed_oot.py
2361
- - pytest -v -s plugins_tests/test_oot_registration_online.py # it needs a clean process
2362
- - pytest -v -s plugins_tests/test_oot_registration_offline.py # it needs a clean process
2363
- - pytest -v -s plugins_tests/lora_resolvers # unit tests for in-tree lora resolver plugins
2356
+ - pytest -v -s plugins_tests/test_oot_registration_online.py
2357
+ - pytest -v -s plugins_tests/test_oot_registration_offline.py
2358
+ - pytest -v -s plugins_tests/lora_resolvers
2359
2360
- label: ":amd: (MI300) GGUF Plugin" # TBD
2361
timeout_in_minutes: 45
@@ -2402,18 +2397,24 @@ steps:
2397
- tests/entrypoints/serve/instrumentator/test_uds.py
2398
- tests/v1/sample/test_logprobs_e2e.py
2399
- vllm/platforms/rocm.py
2400
+ - tests/entrypoints/openai/chat_completion/test_include_reasoning.py
2401
+ - tests/entrypoints/openai/chat_completion/test_serving_chat.py
2402
+ - tests/entrypoints/openai/completion/test_shutdown.py
2403
+ - tests/entrypoints/openai/test_uds.py
2404
commands:
2405
- export VLLM_USE_RUST_FRONTEND=1
2406
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
2407
- pytest -v -s benchmarks/test_serve_cli.py -k "not insecure and not (test_bench_serve and not test_bench_serve_chat)"
2408
- pytest -v -s entrypoints/openai/chat_completion/test_chat_completion.py -k "not test_invalid_json_schema and not test_invalid_regex and not test_kv_transfer_prompt_token_ids_round_trip and not test_kv_transfer_prompt_token_ids_streaming"
2409
+ - pytest -v -s entrypoints/openai/chat_completion/test_include_reasoning.py
2410
- pytest -v -s entrypoints/openai/chat_completion/test_chat_logit_bias_validation.py -k "not multiple"
2411
+ - pytest -v -s entrypoints/openai/chat_completion/test_serving_chat.py -k "test_chat_per_request_metrics_follow_server_flag or test_streaming_reasoning_usage_counts_across_deltas or test_completion_tokens_details"
2412
- pytest -v -s entrypoints/launchers/test_shutdown.py -k "not engine_failure and not test_abort_timeout_exits_quickly"
2413
- pytest -v -s entrypoints/openai/test_return_token_ids.py -k "not test_comparison"
2414
- pytest -v -s entrypoints/serve/instrumentator/test_uds.py
2415
- pytest -v -s v1/sample/test_logprobs_e2e.py -k "test_prompt_logprobs_e2e_server"
2416
2416
-- label: ":amd: (MI300) Rust Frontend Serve + Admin Coverage" # TBD
2417
+- label: ":amd: (MI300) Rust Frontend Serve/Admin Coverage"
2418
timeout_in_minutes: 30
2419
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2420
dind: false
@@ -2509,8 +2510,9 @@ steps:
2510
2511
#------------------------------------------------------- mi300 · quantization --------------------------------------------------------#
2512
2512
-- label: ":amd: (MI300) Quantization" # TBD
2513
+- label: ":amd: (MI300) Quantization Shard %N"
2514
timeout_in_minutes: 115
2515
+ parallelism: 4
2516
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2517
dind: false
2518
agent_pool: mi300_1
@@ -2524,19 +2526,19 @@ steps:
2526
- vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py
2527
- tests/quantization
2528
- tests/rocm/test_moe_weight_replay.py
2529
+ optional: true
2530
commands:
2528
-
2531
# temporary install here since we need nightly, will move to requirements/test.in
2532
# after torchao 0.12 release, and pin a working version of torchao nightly here
2531
-
2533
# since torchao nightly is only compatible with torch nightly currently
2534
# https://github.com/pytorch/ao/issues/2919, we'll have to skip new torchao tests for now
2535
# we can only upgrade after this is resolved
2536
# TODO(jerryzh168): resolve the above comment
2537
+ - unset VLLM_USE_V2_MODEL_RUNNER
2538
- uv pip install --system torchao==0.17.0
2539
- uv pip install --system conch-triton-kernels
2538
- - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py
2539
- - pytest -v -s rocm/test_moe_weight_replay.py
2540
+ - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
2541
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s rocm/test_moe_weight_replay.py; fi
2542
2543
#--------------------------------------------------------- mi300 · samplers ----------------------------------------------------------#
2544
@@ -2556,6 +2558,7 @@ steps:
2558
- tests/conftest.py
2559
- vllm/_aiter_ops.py
2560
- vllm/platforms/rocm.py
2561
+ - vllm/entrypoints/generate/beam_search
2562
commands:
2563
- pytest -v -s samplers
2564
@@ -2570,6 +2573,18 @@ steps:
2573
source_file_dependencies:
2574
- vllm/
2575
- tests/test_regression
2576
+ - vllm/config/
2577
+ - vllm/distributed/
2578
+ - vllm/engine/
2579
+ - vllm/inputs/
2580
+ - vllm/model_executor/
2581
+ - vllm/multimodal/
2582
+ - vllm/platforms/
2583
+ - vllm/sampling_params.py
2584
+ - vllm/transformers_utils/
2585
+ - vllm/utils/
2586
+ - vllm/v1/
2587
+ optional: true
2588
commands:
2589
- pip install 'modelscope<1.38'
2590
- pytest -v -s test_regression.py
@@ -2586,6 +2601,8 @@ steps:
2601
- requirements/
2602
- setup.py
2603
- vllm/platforms/rocm.py
2604
+ - .buildkite/scripts/check-ray-compatibility.sh
2605
+ optional: true
2606
commands:
2607
- bash /vllm-workspace/.buildkite/scripts/check-ray-compatibility.sh
2608
@@ -2608,7 +2625,7 @@ steps:
2625
- pytest -v -s v1/spec_decode/test_acceptance_length.py -m slow_test
2626
2627
- label: ":amd: (MI300) E2E Scheduling" # TBD
2611
- timeout_in_minutes: 45
2628
+ timeout_in_minutes: 55
2629
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2630
dind: false
2631
agent_pool: mi300_1
@@ -2622,7 +2639,7 @@ steps:
2639
- pytest -v -s v1/e2e/general/test_async_scheduling.py
2640
2641
- label: ":amd: (MI300) V1 Engine" # TBD
2625
- timeout_in_minutes: 40
2642
+ timeout_in_minutes: 45
2643
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2644
dind: false
2645
agent_pool: mi300_1
@@ -2632,12 +2649,14 @@ steps:
2649
- vllm/v1/engine/
2650
- tests/v1/engine/
2651
- vllm/platforms/rocm.py
2652
+ - tests/v1/test_tensor_ipc_queue.py
2653
commands:
2654
- pytest -v -s v1/engine/test_preprocess_error_handling.py
2655
- pytest -v -s v1/engine --ignore v1/engine/test_preprocess_error_handling.py
2656
+ - pytest -v -s v1/test_tensor_ipc_queue.py
2657
2658
- label: ":amd: (MI300) Spec Decode Draft Model" # TBD
2640
- timeout_in_minutes: 45
2659
+ timeout_in_minutes: 60
2660
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2661
dind: false
2662
agent_pool: mi300_1
@@ -2654,7 +2673,7 @@ steps:
2673
commands:
2674
- pytest -v -s v1/e2e/spec_decode/draft_model/
2675
2657
-- label: ":amd: (MI300) Spec Decode Eagle" # TBD
2676
+- label: ":amd: (MI300) Spec Decode Eagle 1: DeepSeek + Qwen"
2677
timeout_in_minutes: 60
2678
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2679
dind: false
@@ -2670,7 +2689,26 @@ steps:
2689
- tests/v1/e2e/spec_decode/
2690
- vllm/platforms/rocm.py
2691
commands:
2673
- - pytest -v -s v1/e2e/spec_decode/eagle/
2692
+ - pytest -v -s v1/e2e/spec_decode/eagle/ -k "deepseek_eagle or qwen3_eagle3"
2693
+
2694
+- label: ":amd: (MI300) Spec Decode Eagle 2: Llama 3 + Qwen VL + Other"
2695
+ timeout_in_minutes: 60
2696
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2697
+ dind: false
2698
+ agent_pool: mi300_1
2699
+ optional: true
2700
+ working_dir: /vllm-workspace/tests
2701
+ source_file_dependencies:
2702
+ - vllm/v1/spec_decode/
2703
+ - vllm/v1/worker/gpu/spec_decode/
2704
+ - vllm/model_executor/model_loader/
2705
+ - vllm/v1/sample/
2706
+ - vllm/model_executor/layers/
2707
+ - tests/v1/e2e/spec_decode/
2708
+ - vllm/platforms/rocm.py
2709
+ commands:
2710
+ - pytest -v -s v1/e2e/spec_decode/eagle/ -k "not deepseek_eagle and not qwen3_eagle3"
2711
+
2712
2713
- label: ":amd: (MI300) Spec Decode N-Gram + Suffix" # TBD
2714
timeout_in_minutes: 35
@@ -2693,7 +2731,7 @@ steps:
2731
- python3 spec_decode/test_custom_proposer.py
2732
2733
- label: ":amd: (MI300) Spec Decode Speculators + MTP" # TBD
2696
- timeout_in_minutes: 50
2734
+ timeout_in_minutes: 75
2735
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2736
dind: false
2737
agent_pool: mi300_1
@@ -2708,12 +2746,13 @@ steps:
2746
- vllm/transformers_utils/configs/speculators/
2747
- tests/v1/e2e/spec_decode/
2748
- vllm/platforms/rocm.py
2749
+ - vllm/v1/attention/backends/
2750
commands:
2751
- pytest -v -s v1/e2e/spec_decode/speculators/
2752
- pytest -v -s v1/e2e/spec_decode/mtp/
2753
2715
-- label: ":amd: (MI300) Speculators Correctness" # TBD
2716
- timeout_in_minutes: 35
2754
+- label: ":amd: (MI300) Speculators Correctness Nightly"
2755
+ timeout_in_minutes: 40
2756
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2757
dind: false
2758
agent_pool: mi300_1
@@ -2740,6 +2779,7 @@ steps:
2779
- tests/evals/gsm8k/
2780
- tests/v1/spec_decode/test_speculators_correctness.py
2781
- vllm/platforms/rocm.py
2782
+ - vllm/v1/worker/gpu/spec_decode/dflash/
2783
commands:
2784
- export VLLM_ALLOW_INSECURE_SERIALIZATION=1
2785
- pytest -v -s v1/spec_decode/test_speculators_correctness.py -m slow_test
@@ -2753,6 +2793,17 @@ steps:
2793
source_file_dependencies:
2794
- vllm/
2795
- tests/v1/spec_decode
2796
+ - vllm/config/
2797
+ - vllm/distributed/
2798
+ - vllm/inputs/
2799
+ - vllm/model_executor/
2800
+ - vllm/models/qwen4_exp/
2801
+ - vllm/platforms/
2802
+ - vllm/sampling_params.py
2803
+ - vllm/transformers_utils/
2804
+ - vllm/utils/
2805
+ - vllm/v1/
2806
+ optional: true
2807
commands:
2808
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
2809
- pytest -v -s -m 'not slow_test' v1/spec_decode
@@ -2763,7 +2814,7 @@ steps:
2814
dind: false
2815
agent_pool: mi300_2
2816
num_gpus: 2
2766
- working_dir: "/vllm-workspace/"
2817
+ working_dir: /vllm-workspace
2818
source_file_dependencies:
2819
- vllm/config/speculative.py
2820
- vllm/distributed/kv_transfer/kv_connector/
@@ -2785,12 +2836,15 @@ steps:
2836
- vllm/_aiter_ops.py
2837
- tests/v1/kv_connector/extract_hidden_states_integration/
2838
- vllm/platforms/rocm.py
2839
+ - vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py
2840
+ - tests/v1/kv_connector/extract_hidden_states_integration
2841
+ optional: true
2842
commands:
2843
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
2790
- - pytest -v -s tests/v1/kv_connector/extract_hidden_states_integration
2844
+ - pytest -v -s -m 'distributed' tests/v1/kv_connector/extract_hidden_states_integration
2845
2846
- label: ":amd: (MI300) V1 Attention Shard %N" # TBD
2793
- timeout_in_minutes: 35
2847
+ timeout_in_minutes: 125
2848
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2849
dind: false
2850
agent_pool: mi300_1
@@ -2808,7 +2862,7 @@ steps:
2862
commands:
2863
- pytest -v -s v1/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
2864
2811
-- label: ":amd: (MI300) V1 Core + KV + Metrics" # TBD
2865
+- label: ":amd: (MI300) V1 Core"
2866
timeout_in_minutes: 60
2867
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2868
dind: false
@@ -2826,71 +2880,267 @@ steps:
2880
- tests/v1/ec_connector/unit
2881
- tests/v1/metrics
2882
- tests/entrypoints/openai/correctness/test_lmeval.py
2883
+ - vllm/config/
2884
+ - vllm/distributed/
2885
+ - vllm/engine/
2886
+ - vllm/entrypoints/pooling/
2887
+ - vllm/inputs/
2888
+ - vllm/lora/
2889
+ - vllm/model_executor/
2890
+ - vllm/multimodal/
2891
+ - vllm/outputs.py
2892
+ - vllm/platforms/
2893
+ - vllm/pooling_params.py
2894
+ - vllm/profiler/
2895
+ - vllm/sampling_params.py
2896
+ - vllm/tokenizers/
2897
+ - vllm/transformers_utils/
2898
+ - vllm/utils/
2899
+ - vllm/v1/
2900
+ optional: true
2901
commands:
2830
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2902
+ # - export HSA_NO_SCRATCH_RECLAIM=1
2903
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
2904
- pytest -v -s -m 'not cpu_test' v1/core
2833
- - pytest -v -s v1/executor
2834
- - pytest -v -s v1/kv_offload
2835
- - pytest -v -s v1/simple_kv_offload
2836
- - pytest -v -s v1/worker
2837
- - pytest -v -s v1/streaming_input
2838
- - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
2839
- - pytest -v -s -m 'not cpu_test' v1/ec_connector/unit
2840
- - pytest -v -s -m 'not cpu_test' v1/metrics
2841
- - pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
2842
- # - export HSA_NO_SCRATCH_RECLAIM=1
2843
- - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
2905
2845
-- label: ":amd: (MI300) V1 Sample + Logits" # TBD
2846
- timeout_in_minutes: 70
2906
+- label: ":amd: (MI300) V1 Executor + Worker"
2907
+ timeout_in_minutes: 60
2908
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2909
dind: false
2910
agent_pool: mi300_1
2850
- optional: true
2851
- working_dir: "/vllm-workspace/tests"
2911
+ working_dir: /vllm-workspace/tests
2912
source_file_dependencies:
2913
- vllm/
2854
- - tests/v1/sample
2855
- - tests/v1/logits_processors
2856
- - tests/v1/test_oracle.py
2857
- - tests/v1/test_request.py
2858
- - tests/v1/test_outputs.py
2859
- commands:
2860
- - export VLLM_WORKER_MULTIPROC_METHOD=spawn
2861
- - pytest -v -s v1/sample
2862
- - pytest -v -s v1/logits_processors
2863
- - pytest -v -s v1/test_oracle.py
2864
- - pytest -v -s v1/test_request.py
2865
- - pytest -v -s v1/test_outputs.py
2866
-
2867
-- label: ":amd: (MI300) Distributed DP Basic" # TBD
2868
- timeout_in_minutes: 45
2914
+ - tests/v1/core
2915
+ - tests/v1/executor
2916
+ - tests/v1/kv_offload
2917
+ - tests/v1/simple_kv_offload
2918
+ - tests/v1/worker
2919
+ - tests/v1/streaming_input
2920
+ - tests/v1/kv_connector/unit
2921
+ - tests/v1/ec_connector/unit
2922
+ - tests/v1/metrics
2923
+ - tests/entrypoints/openai/correctness/test_lmeval.py
2924
+ - vllm/config/
2925
+ - vllm/distributed/
2926
+ - vllm/engine/
2927
+ - vllm/entrypoints/pooling/
2928
+ - vllm/inputs/
2929
+ - vllm/lora/
2930
+ - vllm/model_executor/
2931
+ - vllm/multimodal/
2932
+ - vllm/outputs.py
2933
+ - vllm/platforms/
2934
+ - vllm/pooling_params.py
2935
+ - vllm/profiler/
2936
+ - vllm/sampling_params.py
2937
+ - vllm/tokenizers/
2938
+ - vllm/transformers_utils/
2939
+ - vllm/utils/
2940
+ - vllm/v1/
2941
+ commands:
2942
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
2943
+ - pytest -v -s v1/executor
2944
+ - pytest -v -s v1/worker
2945
+ - pytest -v -s v1/streaming_input
2946
+ optional: true
2947
+
2948
+- label: ":amd: (MI300) V1 KV Offload"
2949
+ timeout_in_minutes: 60
2950
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2951
dind: false
2871
- agent_pool: mi300_2
2952
+ agent_pool: mi300_1
2953
+ working_dir: /vllm-workspace/tests
2954
+ source_file_dependencies:
2955
+ - vllm/
2956
+ - tests/v1/core
2957
+ - tests/v1/executor
2958
+ - tests/v1/kv_offload
2959
+ - tests/v1/simple_kv_offload
2960
+ - tests/v1/worker
2961
+ - tests/v1/streaming_input
2962
+ - tests/v1/kv_connector/unit
2963
+ - tests/v1/ec_connector/unit
2964
+ - tests/v1/metrics
2965
+ - tests/entrypoints/openai/correctness/test_lmeval.py
2966
+ - vllm/config/
2967
+ - vllm/distributed/
2968
+ - vllm/engine/
2969
+ - vllm/entrypoints/pooling/
2970
+ - vllm/inputs/
2971
+ - vllm/lora/
2972
+ - vllm/model_executor/
2973
+ - vllm/multimodal/
2974
+ - vllm/outputs.py
2975
+ - vllm/platforms/
2976
+ - vllm/pooling_params.py
2977
+ - vllm/profiler/
2978
+ - vllm/sampling_params.py
2979
+ - vllm/tokenizers/
2980
+ - vllm/transformers_utils/
2981
+ - vllm/utils/
2982
+ - vllm/v1/
2983
+ commands:
2984
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
2985
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-offload.sh
2986
+ - pytest -v -s v1/kv_offload
2987
+ - pytest -v -s v1/simple_kv_offload
2988
+ optional: true
2989
+
2990
+- label: ":amd: (MI300) V1 KV Connectors Shard %N"
2991
+ timeout_in_minutes: 60
2992
+ parallelism: 4
2993
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2994
+ dind: false
2995
+ agent_pool: mi300_1
2996
+ working_dir: /vllm-workspace/tests
2997
+ source_file_dependencies:
2998
+ - vllm/
2999
+ - tests/v1/core
3000
+ - tests/v1/executor
3001
+ - tests/v1/kv_offload
3002
+ - tests/v1/simple_kv_offload
3003
+ - tests/v1/worker
3004
+ - tests/v1/streaming_input
3005
+ - tests/v1/kv_connector/unit
3006
+ - tests/v1/ec_connector/unit
3007
+ - tests/v1/metrics
3008
+ - tests/entrypoints/openai/correctness/test_lmeval.py
3009
+ - vllm/config/
3010
+ - vllm/distributed/
3011
+ - vllm/engine/
3012
+ - vllm/entrypoints/pooling/
3013
+ - vllm/inputs/
3014
+ - vllm/lora/
3015
+ - vllm/model_executor/
3016
+ - vllm/multimodal/
3017
+ - vllm/outputs.py
3018
+ - vllm/platforms/
3019
+ - vllm/pooling_params.py
3020
+ - vllm/profiler/
3021
+ - vllm/sampling_params.py
3022
+ - vllm/tokenizers/
3023
+ - vllm/transformers_utils/
3024
+ - vllm/utils/
3025
+ - vllm/v1/
3026
+ commands:
3027
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
3028
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
3029
+ - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
3030
+ - pytest -v -s -m 'not cpu_test' v1/ec_connector/unit --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
3031
+ optional: true
3032
+
3033
+- label: ":amd: (MI300) V1 Metrics + LM Eval"
3034
+ timeout_in_minutes: 65
3035
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3036
+ dind: false
3037
+ agent_pool: mi300_1
3038
+ working_dir: /vllm-workspace/tests
3039
+ source_file_dependencies:
3040
+ - vllm/
3041
+ - tests/v1/core
3042
+ - tests/v1/executor
3043
+ - tests/v1/kv_offload
3044
+ - tests/v1/simple_kv_offload
3045
+ - tests/v1/worker
3046
+ - tests/v1/streaming_input
3047
+ - tests/v1/kv_connector/unit
3048
+ - tests/v1/ec_connector/unit
3049
+ - tests/v1/metrics
3050
+ - tests/entrypoints/openai/correctness/test_lmeval.py
3051
+ - vllm/config/
3052
+ - vllm/distributed/
3053
+ - vllm/engine/
3054
+ - vllm/entrypoints/pooling/
3055
+ - vllm/inputs/
3056
+ - vllm/lora/
3057
+ - vllm/model_executor/
3058
+ - vllm/multimodal/
3059
+ - vllm/outputs.py
3060
+ - vllm/platforms/
3061
+ - vllm/pooling_params.py
3062
+ - vllm/profiler/
3063
+ - vllm/sampling_params.py
3064
+ - vllm/tokenizers/
3065
+ - vllm/transformers_utils/
3066
+ - vllm/utils/
3067
+ - vllm/v1/
3068
+ commands:
3069
+ - export GIT_CONFIG_COUNT=1
3070
+ - export GIT_CONFIG_KEY_0=http.version
3071
+ - export GIT_CONFIG_VALUE_0=HTTP/1.1
3072
+ - export GIT_TERMINAL_PROMPT=0
3073
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
3074
+ - pytest -v -s -m 'not cpu_test' v1/metrics
3075
+ - pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
3076
+ - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
3077
+ optional: true
3078
+
3079
+
3080
+- label: ":amd: (MI300) V1 Sample"
3081
+ timeout_in_minutes: 70
3082
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3083
+ dind: false
3084
+ agent_pool: mi300_1
3085
optional: true
2873
- num_gpus: 2
3086
working_dir: "/vllm-workspace/tests"
3087
source_file_dependencies:
3088
+ - vllm/
3089
+ - tests/v1/sample
3090
+ - tests/v1/logits_processors
3091
+ - tests/v1/test_oracle.py
3092
+ - tests/v1/test_request.py
3093
+ - tests/v1/test_outputs.py
3094
+ - vllm/config/
3095
- vllm/distributed/
3096
- vllm/engine/
2878
- - vllm/executor/
2879
- - vllm/worker/worker_base.py
2880
- - vllm/v1/engine/
2881
- - vllm/v1/worker/
2882
- - tests/v1/distributed
2883
- - tests/entrypoints/launchers/api_server/test_multi_api_servers.py
2884
- - vllm/platforms/rocm.py
3097
+ - vllm/inputs/
3098
+ - vllm/logger.py
3099
+ - vllm/model_executor/
3100
+ - vllm/platforms/
3101
+ - vllm/sampling_params.py
3102
+ - vllm/transformers_utils/
3103
+ - vllm/utils/
3104
+ - vllm/v1/
3105
commands:
2886
- - export NCCL_CUMEM_HOST_ENABLE=0
2887
- - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_async_llm_dp.py
2888
- - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_eagle_dp.py
2889
- - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_external_lb_dp.py
2890
- - DP_SIZE=2 pytest -v -s entrypoints/launchers/api_server/test_multi_api_servers.py
3106
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
3107
+ - pytest -v -s v1/sample
3108
+
3109
+- label: ":amd: (MI300) V1 Logits + Oracle"
3110
+ timeout_in_minutes: 70
3111
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3112
+ dind: false
3113
+ agent_pool: mi300_1
3114
+ optional: true
3115
+ working_dir: /vllm-workspace/tests
3116
+ source_file_dependencies:
3117
+ - vllm/
3118
+ - tests/v1/sample
3119
+ - tests/v1/logits_processors
3120
+ - tests/v1/test_oracle.py
3121
+ - tests/v1/test_request.py
3122
+ - tests/v1/test_outputs.py
3123
+ - vllm/config/
3124
+ - vllm/distributed/
3125
+ - vllm/engine/
3126
+ - vllm/inputs/
3127
+ - vllm/logger.py
3128
+ - vllm/model_executor/
3129
+ - vllm/platforms/
3130
+ - vllm/sampling_params.py
3131
+ - vllm/transformers_utils/
3132
+ - vllm/utils/
3133
+ - vllm/v1/
3134
+ commands:
3135
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
3136
+ - pytest -v -s v1/logits_processors
3137
+ - pytest -v -s v1/test_oracle.py
3138
+ - pytest -v -s v1/test_request.py
3139
+ - pytest -v -s v1/test_outputs.py
3140
+
3141
3142
- label: ":amd: (MI300) Metrics, Tracing" # TBD
2893
- timeout_in_minutes: 25
3143
+ timeout_in_minutes: 30
3144
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3145
dind: false
3146
agent_pool: mi300_2
@@ -2901,6 +3151,18 @@ steps:
3151
- vllm/
3152
- tests/v1/tracing
3153
- tests/tracing/
3154
+ - vllm/config/
3155
+ - vllm/distributed/
3156
+ - vllm/engine/
3157
+ - vllm/inputs/
3158
+ - vllm/model_executor/
3159
+ - vllm/multimodal/
3160
+ - vllm/platforms/
3161
+ - vllm/sampling_params.py
3162
+ - vllm/tracing/
3163
+ - vllm/transformers_utils/
3164
+ - vllm/utils/
3165
+ - vllm/v1/
3166
commands:
3167
- "pip install \
3168
'opentelemetry-sdk>=1.26.0' \
@@ -2911,7 +3173,7 @@ steps:
3173
- pytest -v -s tracing
3174
3175
- label: ":amd: (MI300) V1 E2E" # TBD
2914
- timeout_in_minutes: 25
3176
+ timeout_in_minutes: 30
3177
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3178
dind: false
3179
agent_pool: mi300_2
@@ -2921,31 +3183,32 @@ steps:
3183
source_file_dependencies:
3184
- vllm/
3185
- tests/v1/e2e
3186
+ - vllm/compilation/
3187
+ - vllm/config/
3188
+ - vllm/distributed/
3189
+ - vllm/engine/
3190
+ - vllm/envs.py
3191
+ - vllm/forward_context.py
3192
+ - vllm/inputs/
3193
+ - vllm/logger.py
3194
+ - vllm/logging_utils/
3195
+ - vllm/model_executor/
3196
+ - vllm/multimodal/
3197
+ - vllm/platforms/
3198
+ - vllm/sampling_params.py
3199
+ - vllm/transformers_utils/
3200
+ - vllm/triton_utils/
3201
+ - vllm/utils/
3202
+ - vllm/v1/
3203
+ - tests/v1/e2e/spec_decode/
3204
commands:
3205
- >-
3206
pytest -v -s
3207
v1/e2e/spec_decode/draft_model/test_draft_model.py::test_draft_model_tensor_parallelism
3208
v1/e2e/spec_decode/draft_model/test_draft_model.py::test_draft_model_engine_args_tensor_parallelism
3209
2930
-- label: ":amd: (MI300) NixlConnector PD + Spec Decode acceptance" # TBD
2931
- timeout_in_minutes: 45
2932
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2933
- dind: false
2934
- agent_pool: mi300_2
2935
- num_gpus: 2
2936
- optional: true
2937
- working_dir: "/vllm-workspace/tests"
2938
- source_file_dependencies:
2939
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2940
- - vllm/v1/worker/kv_connector_model_runner_mixin.py
2941
- - tests/v1/kv_connector/nixl_integration/
2942
- - vllm/platforms/rocm.py
2943
- commands:
2944
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2945
- - KV_CACHE_MEMORY_BYTES=8G ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_spec_decode_test.sh
2946
-
3210
- label: ":amd: (MI300) CrossLayer KV layout Distributed NixlConnector PD accuracy" # TBD
2948
- timeout_in_minutes: 45
3211
+ timeout_in_minutes: 60
3212
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3213
dind: false
3214
agent_pool: mi300_4
@@ -2984,38 +3247,6 @@ steps:
3247
- pytest -v -s v1/engine/test_engine_core_client.py::test_kv_cache_events_dp
3248
- pytest -v -s distributed/test_utils.py
3249
2987
-- label: ":amd: (MI300) Distributed NixlConnector PD accuracy" # TBD
2988
- timeout_in_minutes: 45
2989
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2990
- dind: false
2991
- agent_pool: mi300_4
2992
- num_gpus: 4
2993
- optional: true
2994
- working_dir: "/vllm-workspace/tests"
2995
- source_file_dependencies:
2996
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2997
- - tests/v1/kv_connector/nixl_integration/
2998
- - vllm/platforms/rocm.py
2999
- commands:
3000
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
3001
- - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
3002
-
3003
-- label: ":amd: (MI300) DP EP Distributed NixlConnector PD accuracy" # TBD
3004
- timeout_in_minutes: 30
3005
- mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3006
- dind: false
3007
- agent_pool: mi300_4
3008
- num_gpus: 4
3009
- optional: true
3010
- working_dir: "/vllm-workspace/tests"
3011
- source_file_dependencies:
3012
- - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
3013
- - tests/v1/kv_connector/nixl_integration/
3014
- - vllm/platforms/rocm.py
3015
- commands:
3016
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
3017
- - DP_EP=1 ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
3018
-
3250
- label: ":amd: (MI300) Hybrid SSM NixlConnector PD accuracy" # TBD
3251
timeout_in_minutes: 60
3252
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -3089,16 +3320,18 @@ steps:
3320
- ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
3321
3322
- label: ":amd: (MI300) V1 E2E Hybrid Chunked Prefill" # TBD
3092
- timeout_in_minutes: 30
3323
+ timeout_in_minutes: 35
3324
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
3325
dind: false
3326
agent_pool: mi300_4
3327
num_gpus: 4
3328
optional: true
3329
source_file_dependencies:
3099
- - vllm/v1/attention/backends/utils.py
3100
- - vllm/v1/worker/gpu_model_runner.py
3101
- - tests/v1/e2e/test_hybrid_chunked_prefill.py
3330
+ - vllm/v1/attention/backends/utils.py
3331
+ - vllm/v1/worker/gpu_model_runner.py
3332
+ - tests/v1/e2e/test_hybrid_chunked_prefill.py
3333
+ - vllm/v1/core/
3334
+ working_dir: /vllm-workspace/tests
3335
commands:
3336
- pytest -v -s v1/e2e/test_hybrid_chunked_prefill.py
3337
@@ -3114,6 +3347,7 @@ steps:
3347
source_file_dependencies:
3348
- vllm/
3349
- tests/weight_loading
3350
+ optional: true
3351
commands:
3352
- bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-amd.txt
3353
@@ -3156,11 +3390,90 @@ steps:
3390
3391
#-------------------------------------------------------- mi355 · distributed --------------------------------------------------------#
3392
3159
-- label: ":amd: (MI355) Distributed Features" # TBD
3393
+- label: ":amd: (MI355) Distributed DP Basic" # TBD
3394
timeout_in_minutes: 45
3395
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3396
dind: false
3397
agent_pool: mi355_2
3398
+ optional: true
3399
+ num_gpus: 2
3400
+ working_dir: "/vllm-workspace/tests"
3401
+ source_file_dependencies:
3402
+ - vllm/distributed/
3403
+ - vllm/engine/
3404
+ - vllm/executor/
3405
+ - vllm/worker/worker_base.py
3406
+ - vllm/v1/engine/
3407
+ - vllm/v1/worker/
3408
+ - tests/v1/distributed
3409
+ - tests/entrypoints/launchers/api_server/test_multi_api_servers.py
3410
+ - vllm/platforms/rocm.py
3411
+ - tests/v1/e2e/general/test_sharded_sampling.py
3412
+ - tests/v1/e2e/spec_decode/test_sharded_sampling.py
3413
+ - tests/v1/e2e/spec_decode/utils.py
3414
+ commands:
3415
+ - export NCCL_CUMEM_HOST_ENABLE=0
3416
+ - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_async_llm_dp.py
3417
+ - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_eagle_dp.py
3418
+ - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_external_lb_dp.py
3419
+ - DP_SIZE=2 pytest -v -s entrypoints/launchers/api_server/test_multi_api_servers.py
3420
+ - pytest -v -s v1/e2e/general/test_sharded_sampling.py
3421
+ - pytest -v -s v1/e2e/spec_decode/test_sharded_sampling.py
3422
+
3423
+- label: ":amd: (MI355) NixlConnector PD + Spec Decode acceptance" # TBD
3424
+ timeout_in_minutes: 45
3425
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3426
+ dind: false
3427
+ agent_pool: mi355_2
3428
+ num_gpus: 2
3429
+ optional: true
3430
+ working_dir: "/vllm-workspace/tests"
3431
+ source_file_dependencies:
3432
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
3433
+ - vllm/v1/worker/kv_connector_model_runner_mixin.py
3434
+ - tests/v1/kv_connector/nixl_integration/
3435
+ - vllm/platforms/rocm.py
3436
+ commands:
3437
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
3438
+ - KV_CACHE_MEMORY_BYTES=8G ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_spec_decode_test.sh
3439
+
3440
+- label: ":amd: (MI355) Distributed NixlConnector PD accuracy" # TBD
3441
+ timeout_in_minutes: 60
3442
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3443
+ dind: false
3444
+ agent_pool: mi355_4
3445
+ num_gpus: 4
3446
+ optional: true
3447
+ working_dir: "/vllm-workspace/tests"
3448
+ source_file_dependencies:
3449
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
3450
+ - tests/v1/kv_connector/nixl_integration/
3451
+ - vllm/platforms/rocm.py
3452
+ commands:
3453
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
3454
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
3455
+
3456
+- label: ":amd: (MI355) DP EP Distributed NixlConnector PD accuracy" # TBD
3457
+ timeout_in_minutes: 40
3458
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3459
+ dind: false
3460
+ agent_pool: mi355_4
3461
+ num_gpus: 4
3462
+ optional: true
3463
+ working_dir: "/vllm-workspace/tests"
3464
+ source_file_dependencies:
3465
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
3466
+ - tests/v1/kv_connector/nixl_integration/
3467
+ - vllm/platforms/rocm.py
3468
+ commands:
3469
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
3470
+ - DP_EP=1 ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
3471
+
3472
+- label: ":amd: (MI355) Distributed Features" # TBD
3473
+ timeout_in_minutes: 90
3474
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3475
+ dind: false
3476
+ agent_pool: mi355_2
3477
num_gpus: 2
3478
optional: true
3479
working_dir: "/vllm-workspace/"
@@ -3191,18 +3504,28 @@ steps:
3504
- tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
3505
- tests/v1/distributed/test_dbo.py
3506
- tests/utils.py
3507
+ - examples/features/data_parallel/data_parallel_offline.py
3508
+ - examples/rl/rlhf_async_new_apis.py
3509
+ - tests/distributed/test_weight_transfer.py
3510
+ - tests/distributed/test_packed_tensor.py
3511
commands:
3512
- pytest -v -s tests/distributed/test_context_parallel.py
3513
+ - VLLM_ALLOW_INSECURE_SERIALIZATION=1 python3 examples/rl/rlhf_async_new_apis.py
3514
+ - VLLM_LOGGING_LEVEL=DEBUG python3 examples/features/data_parallel/data_parallel_offline.py --model=Qwen/Qwen1.5-MoE-A2.7B -tp=1 -dp=2 --max-model-len=2048 --all2all-backend=deepep_high_throughput
3515
+ - VLLM_LOGGING_LEVEL=DEBUG python3 examples/features/data_parallel/data_parallel_offline.py --model=Qwen/Qwen1.5-MoE-A2.7B -tp=1 -dp=2 --max-model-len=2048 --all2all-backend=allgather_reducescatter --disable-nccl-for-dp-synchronization
3516
+ - pytest -v -s tests/v1/distributed/test_dbo.py
3517
+ - VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
3518
+ - pytest -v -s tests/distributed/test_packed_tensor.py
3519
- pytest -v -s tests/distributed/test_rocm_aiter_custom_ar.py
3520
- pytest -v -s tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
3521
- pytest -v -s tests/distributed/test_rocm_quick_reduce.py
3522
- pytest -v -s tests/distributed/test_quick_all_reduce.py
3200
- - pytest -v -s tests/v1/distributed/test_dbo.py
3523
3524
#-------------------------------------------------------- mi355 · entrypoints --------------------------------------------------------#
3525
3204
-- label: ":amd: (MI355) Entrypoints Integration (API Server)" # TBD
3205
- timeout_in_minutes: 55
3526
+- label: ":amd: (MI355) Entrypoints Integration (API Server) %N"
3527
+ timeout_in_minutes: 65
3528
+ parallelism: 4
3529
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3530
dind: false
3531
agent_pool: mi355_1
@@ -3215,12 +3538,12 @@ steps:
3538
- tests/entrypoints/scale_out
3539
commands:
3540
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
3218
- - pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc
3219
- - PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc
3220
- - pytest -v -s entrypoints/scale_out
3541
+ - pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
3542
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc; fi
3543
+ - pytest -v -s entrypoints/scale_out --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
3544
3545
- label: ":amd: (MI355) Entrypoints Integration (OpenAI API completion)" # TBD
3223
- timeout_in_minutes: 35
3546
+ timeout_in_minutes: 65
3547
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3548
dind: false
3549
agent_pool: mi355_1
@@ -3236,7 +3559,7 @@ steps:
3559
- pytest -v -s entrypoints/openai --ignore=entrypoints/openai/completion --ignore=entrypoints/openai/chat_completion --ignore=entrypoints/openai/responses --ignore=entrypoints/openai/correctness
3560
3561
- label: ":amd: (MI355) Entrypoints Integration (OpenAI API chat_completion)" # TBD
3239
- timeout_in_minutes: 50
3562
+ timeout_in_minutes: 70
3563
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3564
dind: false
3565
agent_pool: mi355_1
@@ -3251,7 +3574,7 @@ steps:
3574
- pytest -v -s entrypoints/openai/chat_completion
3575
3576
- label: ":amd: (MI355) Entrypoints Integration (API Server Generate)" # TBD
3254
- timeout_in_minutes: 40
3577
+ timeout_in_minutes: 65
3578
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3579
dind: false
3580
agent_pool: mi355_1
@@ -3264,15 +3587,16 @@ steps:
3587
- tests/entrypoints/tool_parsers
3588
- tests/entrypoints/anthropic
3589
- tests/entrypoints/generate
3590
+ - tests/entrypoints/cohere
3591
commands:
3268
- - export VLLM_WORKER_MULTIPROC_METHOD=spawn
3592
- pytest -v -s tool_use
3593
- pytest -v -s entrypoints/tool_parsers
3594
- pytest -v -s entrypoints/generate
3595
- pytest -v -s entrypoints/anthropic
3596
+ - pytest -v -s entrypoints/cohere
3597
3598
- label: ":amd: (MI355) Entrypoints Integration (Speech to Text)" # TBD
3275
- timeout_in_minutes: 50
3599
+ timeout_in_minutes: 60
3600
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi355]
3601
dind: false
3602
agent_pool: mi355_1
@@ -3281,12 +3605,13 @@ steps:
3605
source_file_dependencies:
3606
- vllm/
3607
- tests/entrypoints/speech_to_text
3608
+ optional: true
3609
commands:
3610
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
3611
- pytest -v -s entrypoints/speech_to_text
3612
3613
- label: ":amd: (MI355) Entrypoints Integration (Multimodal)"
3289
- timeout_in_minutes: 40
3614
+ timeout_in_minutes: 55
3615
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi355]
3616
dind: false
3617
agent_pool: mi355_1
@@ -3295,12 +3620,13 @@ steps:
3620
source_file_dependencies:
3621
- vllm/
3622
- tests/entrypoints/multimodal
3623
+ optional: true
3624
commands:
3625
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
3626
- pytest -v -s entrypoints/multimodal
3627
3628
- label: ":amd: (MI355) Entrypoints Integration (Pooling)" # TBD
3303
- timeout_in_minutes: 55
3629
+ timeout_in_minutes: 65
3630
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3631
dind: false
3632
agent_pool: mi355_1
@@ -3309,6 +3635,7 @@ steps:
3635
source_file_dependencies:
3636
- vllm/
3637
- tests/entrypoints/pooling
3638
+ optional: true
3639
commands:
3640
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
3641
- pytest -v -s entrypoints/pooling
@@ -3361,8 +3688,8 @@ steps:
3688
commands:
3689
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-qwen35-mi355.txt
3690
3364
-- label: ":amd: (MI355) LM Eval Small Models" # TBD
3365
- timeout_in_minutes: 45
3691
+- label: ":amd: (MI355) LM Eval Small Models Distributed"
3692
+ timeout_in_minutes: 55
3693
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3694
dind: false
3695
agent_pool: mi355_2
@@ -3378,6 +3705,7 @@ steps:
3705
- vllm/v1/attention/selector.py
3706
- vllm/_aiter_ops.py
3707
- vllm/platforms/rocm.py
3708
+ - tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
3709
commands:
3710
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx-fp8-and-mixed.txt
3711
@@ -3424,7 +3752,7 @@ steps:
3752
- pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-large-rocm-tp4.txt --tp-size=4
3753
3754
- label: ":amd: (MI355) LM Eval Large Models" # TBD
3427
- timeout_in_minutes: 35
3755
+ timeout_in_minutes: 65
3756
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3757
dind: false
3758
agent_pool: mi355_8
@@ -3449,7 +3777,7 @@ steps:
3777
#--------------------------------------------------------- mi355 · examples ----------------------------------------------------------#
3778
3779
- label: ":amd: (MI355) Examples" # TBD
3452
- timeout_in_minutes: 40
3780
+ timeout_in_minutes: 75
3781
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3782
dind: false
3783
agent_pool: mi355_1
@@ -3459,23 +3787,24 @@ steps:
3787
- vllm/multimodal
3788
- examples/
3789
- vllm/platforms/rocm.py
3790
+ optional: true
3791
commands:
3463
- - pip install tensorizer
3792
# Basic
3793
+ # Multi-modal models
3794
+ # Pooling models
3795
+ # Features demo
3796
+ - pip install --no-deps tensorizer
3797
- python3 basic/offline_inference/chat.py
3798
- python3 basic/offline_inference/generate.py --model facebook/opt-125m
3799
- python3 basic/offline_inference/generate.py --model meta-llama/Llama-2-13b-chat-hf --cpu-offload-gb 10
3800
- python3 basic/offline_inference/classify.py
3801
- python3 basic/offline_inference/embed.py
3802
- python3 basic/offline_inference/score.py
3471
- # Multi-modal models
3803
- python3 generate/multimodal/audio_language_offline.py --seed 0
3804
- python3 generate/multimodal/vision_language_offline.py --seed 0
3805
- python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
3806
- python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
3476
- # Pooling models
3807
- python3 pooling/embed/vision_embedding_offline.py --seed 0
3478
- # Features demo
3808
- python3 features/automatic_prefix_caching/prefix_caching_offline.py
3809
- python3 deployment/llm_engine_example.py
3810
- python3 features/tensorize_vllm_model.py --model facebook/opt-125m serialize --serialized-directory /tmp/ --suffix v1 && python3 features/tensorize_vllm_model.py --model facebook/opt-125m deserialize --path-to-tensors /tmp/vllm/facebook/opt-125m/v1/model.tensors
@@ -3502,8 +3831,10 @@ steps:
3831
- vllm/model_executor/layers/rotary_embedding/
3832
- vllm/_aiter_ops.py
3833
- vllm/platforms/rocm.py
3834
+ - tests/kernels/test_fused_qk_norm_rope_gate.py
3835
+ optional: true
3836
commands:
3506
- - pytest -v -s kernels/core --ignore=kernels/core/test_minimax_reduce_rms.py kernels/test_concat_mla_q.py kernels/test_top_k_per_row.py kernels/test_rocm_fp32_router_gemm.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
3837
+ - pytest -v -s kernels/core --ignore=kernels/core/test_minimax_reduce_rms.py kernels/test_fused_qk_norm_rope_gate.py kernels/test_concat_mla_q.py kernels/test_top_k_per_row.py kernels/test_rocm_fp32_router_gemm.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
3838
3839
- label: ":amd: (MI355) MiniMax Reduce RMS Kernels" # TBD
3840
timeout_in_minutes: 45
@@ -3520,6 +3851,12 @@ steps:
3851
- vllm/platforms/rocm.py
3852
- tests/kernels/core/test_minimax_reduce_rms.py
3853
- tests/utils.py
3854
+ - csrc/libtorch_stable/minimax_reduce_rms_kernel.cu
3855
+ - csrc/libtorch_stable/minimax_reduce_rms_kernel.h
3856
+ - csrc/libtorch_stable/ops.h
3857
+ - csrc/libtorch_stable/torch_bindings.cpp
3858
+ - vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py
3859
+ optional: true
3860
commands:
3861
- pytest -v -s kernels/core/test_minimax_reduce_rms.py
3862
@@ -3543,8 +3880,12 @@ steps:
3880
- vllm/v1/attention/selector.py
3881
- vllm/platforms/rocm.py
3882
- vllm/_aiter_ops.py
3883
+ - examples/basic/offline_inference/chat.py
3884
+ - tests/kernels/attention/test_attention_selector.py
3885
+ - tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
3886
+ optional: true
3887
commands:
3547
- - rocm-smi
3888
+ - amd-smi
3889
- python3 examples/basic/offline_inference/chat.py --attention-backend TRITON_ATTN
3890
- pytest -v -s tests/kernels/attention/test_attention_selector.py
3891
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
@@ -3564,15 +3905,16 @@ steps:
3905
- tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
3906
- tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
3907
- tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
3908
+ optional: true
3909
commands:
3568
- - rocm-smi
3910
+ - amd-smi
3911
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
3912
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode.py
3913
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
3914
- pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
3915
3916
- label: ":amd: (MI355) Attention Kernels Shard %N" # TBD
3575
- timeout_in_minutes: 40
3917
+ timeout_in_minutes: 90
3918
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3919
dind: false
3920
agent_pool: mi355_1
@@ -3586,11 +3928,13 @@ steps:
3928
- vllm/_aiter_ops.py
3929
- vllm/envs.py
3930
- vllm/platforms/rocm.py
3931
+ - vllm/utils/flashinfer.py
3932
+ optional: true
3933
commands:
3934
- pytest -v -s kernels/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
3935
3936
- label: ":amd: (MI355) MoE Kernels Shard %N" # TBD
3593
- timeout_in_minutes: 45
3937
+ timeout_in_minutes: 55
3938
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3939
dind: false
3940
agent_pool: mi355_1
@@ -3610,6 +3954,7 @@ steps:
3954
- vllm/config
3955
- vllm/_aiter_ops.py
3956
- vllm/platforms/rocm.py
3957
+ optional: true
3958
commands:
3959
- pytest -v -s kernels/moe
3960
--ignore=kernels/moe/test_modular_oai_triton_moe.py
@@ -3646,11 +3991,15 @@ steps:
3991
- vllm/utils/torch_utils.py
3992
- vllm/platforms/
3993
- vllm/_aiter_ops.py
3994
+ - csrc/quantization/cutlass_w8a8/moe/
3995
+ - vllm/distributed/device_communicators/
3996
+ - vllm/config
3997
commands:
3998
- pytest -v -s kernels/moe/test_moe_layer.py
3999
3652
-- label: ":amd: (MI355) Quantization Kernels" # TBD
3653
- timeout_in_minutes: 50
4000
+- label: ":amd: (MI355) Quantization Kernels Shard %N"
4001
+ timeout_in_minutes: 120
4002
+ parallelism: 6
4003
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4004
dind: false
4005
agent_pool: mi355_1
@@ -3669,8 +4018,11 @@ steps:
4018
- vllm/platforms/rocm.py
4019
- vllm/model_executor/kernels/
4020
- vllm/v1/attention/backends/rocm_aiter_fa.py
4021
+ - vllm/config/
4022
+ - tests/kernels/quantization/test_rocm_skinny_gemms.py
4023
+ optional: true
4024
commands:
3673
- - pytest -v -s kernels/quantization
4025
+ - pytest -v -s kernels/quantization --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
4026
4027
- label: ":amd: (MI355) FP8 MoE Kernels" # TBD
4028
timeout_in_minutes: 40
@@ -3685,6 +4037,13 @@ steps:
4037
- vllm/_aiter_ops.py
4038
- vllm/platforms/rocm.py
4039
- vllm/envs.py
4040
+ - tests/kernels/moe/test_gpt_oss_triton_kernels.py
4041
+ - tests/kernels/moe/test_modular_oai_triton_moe.py
4042
+ - tests/kernels/moe/test_moe.py
4043
+ - tests/kernels/moe/test_block_int8.py
4044
+ - tests/kernels/moe/test_triton_moe_no_act_mul.py
4045
+ - tests/kernels/moe/test_triton_moe_ptpc_fp8.py
4046
+ optional: true
4047
commands:
4048
- pytest -v -s kernels/moe/test_gpt_oss_triton_kernels.py
4049
- pytest -v -s kernels/moe/test_modular_oai_triton_moe.py
@@ -3694,7 +4053,7 @@ steps:
4053
- pytest -v -s kernels/moe/test_triton_moe_ptpc_fp8.py
4054
4055
- label: ":amd: (MI355) DeepEP FP8 MoE Kernels" # TBD
3697
- timeout_in_minutes: 45
4056
+ timeout_in_minutes: 55
4057
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4058
dind: false
4059
agent_pool: mi355_2
@@ -3710,12 +4069,51 @@ steps:
4069
- vllm/platforms/rocm.py
4070
- vllm/envs.py
4071
commands:
3713
- - pytest -v -s kernels/moe/test_deepep_moe.py
3714
-
3715
-#----------------------------------------------------- mi355 · models / language -----------------------------------------------------#
4072
+ - pytest -v -s kernels/moe/test_deepep_moe.py
4073
+
4074
+#------------------------------------------------------ mi355 · models / basic -------------------------------------------------------#
4075
+
4076
+- label: ":amd: (MI355) Basic Models (Extra Initialization) Shard %N" # TBD
4077
+ timeout_in_minutes: 60
4078
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4079
+ dind: false
4080
+ agent_pool: mi355_1
4081
+ parallelism: 6
4082
+ working_dir: "/vllm-workspace/tests"
4083
+ source_file_dependencies:
4084
+ - vllm/model_executor/models/
4085
+ - vllm/model_executor/layers/
4086
+ - tests/models/test_initialization.py
4087
+ - tests/models/registry.py
4088
+ - vllm/_aiter_ops.py
4089
+ - vllm/platforms/rocm.py
4090
+ optional: true
4091
+ commands:
4092
+ - pytest -v -s models/test_initialization.py -k 'not test_can_initialize_small_subset' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
4093
+
4094
+#----------------------------------------------------- mi355 · models / language -----------------------------------------------------#
4095
+
4096
+- label: ":amd: (MI355) Language Models (Hybrid) Shard %N" # TBD
4097
+ timeout_in_minutes: 65
4098
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4099
+ dind: false
4100
+ agent_pool: mi355_1
4101
+ parallelism: 2
4102
+ optional: true
4103
+ working_dir: "/vllm-workspace/tests"
4104
+ source_file_dependencies:
4105
+ - vllm/
4106
+ - tests/models/language/generation
4107
+ commands:
4108
+ - export GIT_CONFIG_COUNT=1
4109
+ - export GIT_CONFIG_KEY_0=http.version
4110
+ - export GIT_CONFIG_VALUE_0=HTTP/1.1
4111
+ - MAMBA_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/AndreasKaratzas/mamba@fix-rocm-7.0-warp-size-constexpr'
4112
+ - CAUSAL_CONV1D_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/Dao-AILab/causal-conv1d@v1.6.0'
4113
+ - pytest -v -s models/language/generation -m hybrid_model --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
4114
4115
- label: ":amd: (MI355) Language Models (Extended Generation)" # TBD
3718
- timeout_in_minutes: 65
4116
+ timeout_in_minutes: 95
4117
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4118
dind: false
4119
agent_pool: mi355_1
@@ -3723,13 +4121,15 @@ steps:
4121
source_file_dependencies:
4122
- vllm/
4123
- tests/models/language/generation
4124
+ optional: true
4125
commands:
4126
- MAMBA_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/AndreasKaratzas/mamba@rocm-7.0-v2.3.0'
4127
- CAUSAL_CONV1D_FORCE_BUILD=TRUE uv pip install --system --no-build-isolation 'git+https://github.com/Dao-AILab/causal-conv1d@v1.6.0'
4128
- pytest -v -s models/language/generation -m '(not core_model) and (not hybrid_model)'
4129
3731
-- label: ":amd: (MI355) Language Models (Extended Pooling)" # TBD
3732
- timeout_in_minutes: 65
4130
+- label: ":amd: (MI355) Language Models (Extended Pooling) Shard %N"
4131
+ timeout_in_minutes: 95
4132
+ parallelism: 4
4133
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4134
dind: false
4135
agent_pool: mi355_1
@@ -3739,10 +4139,10 @@ steps:
4139
- vllm/
4140
- tests/models/language/pooling
4141
commands:
3742
- - pytest -v -s models/language/pooling -m 'not core_model'
4142
+ - pytest -v -s models/language/pooling -m 'not core_model' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
4143
4144
- label: ":amd: (MI355) Language Models (PPL)" # TBD
3745
- timeout_in_minutes: 35
4145
+ timeout_in_minutes: 65
4146
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4147
dind: false
4148
agent_pool: mi355_1
@@ -3767,6 +4167,8 @@ steps:
4167
- vllm/v1/attention/ops/
4168
- vllm/platforms/rocm.py
4169
- tests/models/language/generation_ppl_test
4170
+ - vllm/model_executor/layers/fla/ops/
4171
+ - vllm/
4172
commands:
4173
- pytest -v -s models/language/generation_ppl_test
4174
@@ -3779,6 +4181,7 @@ steps:
4181
source_file_dependencies:
4182
- vllm/
4183
- tests/models/language
4184
+ optional: true
4185
commands:
4186
- pip freeze | grep -E 'torch'
4187
- pytest -v -s models/language -m 'core_model and (not slow_test)'
@@ -3786,7 +4189,7 @@ steps:
4189
#---------------------------------------------------- mi355 · models / multimodal ----------------------------------------------------#
4190
4191
- label: ":amd: (MI355) Multimodal Models (Extended Generation 1)" # TBD
3789
- timeout_in_minutes: 60
4192
+ timeout_in_minutes: 90
4193
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4194
dind: false
4195
agent_pool: mi355_1
@@ -3801,7 +4204,7 @@ steps:
4204
- pytest -v -s models/multimodal/test_mapping.py
4205
4206
- label: ":amd: (MI355) Multimodal Models (Extended Generation 3)" # TBD
3804
- timeout_in_minutes: 40
4207
+ timeout_in_minutes: 90
4208
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4209
dind: false
4210
agent_pool: mi355_1
@@ -3814,7 +4217,7 @@ steps:
4217
- pytest -v -s models/multimodal/generation/test_common.py -m 'split(group=1) and not core_model'
4218
4219
- label: ":amd: (MI355) Multimodal Models (Extended Pooling)" # TBD
3817
- timeout_in_minutes: 40
4220
+ timeout_in_minutes: 75
4221
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4222
dind: false
4223
agent_pool: mi355_1
@@ -3827,7 +4230,7 @@ steps:
4230
- pytest -v -s models/multimodal/pooling -m 'not core_model'
4231
4232
- label: ":amd: (MI355) Multimodal Models (Standard) 1: qwen2" # TBD
3830
- timeout_in_minutes: 35
4233
+ timeout_in_minutes: 65
4234
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4235
dind: false
4236
agent_pool: mi355_1
@@ -3841,7 +4244,7 @@ steps:
4244
- pytest -v -s models/multimodal/generation/test_ultravox.py -m core_model
4245
4246
- label: ":amd: (MI355) Multimodal Models (Standard) 4: other + whisper" # TBD
3844
- timeout_in_minutes: 55
4247
+ timeout_in_minutes: 70
4248
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4249
dind: false
4250
agent_pool: mi355_1
@@ -3853,13 +4256,13 @@ steps:
4256
commands:
4257
- pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_mm_prefix_lm.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/generation/test_vit_cudagraph.py --ignore models/multimodal/processing
4258
- pytest -v -s models/multimodal/generation/test_vit_cudagraph.py -m core_model
3856
- - pytest -v -s models/multimodal/generation/test_memory_leak.py -m core_model
4259
+ - pytest models/multimodal/generation/test_memory_leak.py -m core_model
4260
- cd .. && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model
4261
4262
#----------------------------------------------------- mi355 · models / quantized -----------------------------------------------------#
4263
4264
- label: ":amd: (MI355) Quantized Models" # TBD
3862
- timeout_in_minutes: 50
4265
+ timeout_in_minutes: 80
4266
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4267
dind: false
4268
agent_pool: mi355_1
@@ -3870,13 +4273,16 @@ steps:
4273
- vllm/_aiter_ops.py
4274
- vllm/platforms/rocm.py
4275
- vllm/model_executor/model_loader/
4276
+ optional: true
4277
commands:
4278
+ - unset VLLM_USE_V2_MODEL_RUNNER
4279
- pytest -v -s models/quantization
4280
4281
#------------------------------------------------------- mi355 · quantization --------------------------------------------------------#
4282
3878
-- label: ":amd: (MI355) Quantization" # TBD
3879
- timeout_in_minutes: 80
4283
+- label: ":amd: (MI355) Quantization Shard %N"
4284
+ timeout_in_minutes: 115
4285
+ parallelism: 4
4286
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4287
dind: false
4288
agent_pool: mi355_1
@@ -3887,10 +4293,16 @@ steps:
4293
- tests/quantization
4294
- vllm/_aiter_ops.py
4295
- vllm/platforms/rocm.py
4296
+ - vllm/model_executor/layers/fused_moe/oracle/unquantized.py
4297
+ - vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py
4298
+ - tests/rocm/test_moe_weight_replay.py
4299
+ optional: true
4300
commands:
4301
+ - unset VLLM_USE_V2_MODEL_RUNNER
4302
- uv pip install --system torchao==0.17.0
4303
- uv pip install --system conch-triton-kernels
3893
- - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py
4304
+ - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
4305
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s rocm/test_moe_weight_replay.py; fi
4306
4307
# - label: Quantized MoE Test (B200-MI355) # TBD
4308
# timeout_in_minutes: 180
@@ -3922,7 +4334,7 @@ steps:
4334
#------------------------------------------------------------ mi355 · v1 -------------------------------------------------------------#
4335
4336
- label: ":amd: (MI355) V1 Attention Shard %N" # TBD
3925
- timeout_in_minutes: 35
4337
+ timeout_in_minutes: 125
4338
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4339
dind: false
4340
agent_pool: mi355_1
@@ -3936,11 +4348,12 @@ steps:
4348
- vllm/_aiter_ops.py
4349
- vllm/envs.py
4350
- vllm/platforms/rocm.py
4351
+ optional: true
4352
commands:
4353
- pytest -v -s v1/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
4354
3942
-- label: ":amd: (MI355) V1 Core + KV + Metrics" # TBD
3943
- timeout_in_minutes: 55
4355
+- label: ":amd: (MI355) V1 Core"
4356
+ timeout_in_minutes: 60
4357
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4358
dind: false
4359
agent_pool: mi355_1
@@ -3956,24 +4369,243 @@ steps:
4369
- tests/v1/kv_connector/unit
4370
- tests/v1/metrics
4371
- tests/entrypoints/openai/correctness/test_lmeval.py
4372
+ - vllm/config/
4373
+ - vllm/distributed/
4374
+ - vllm/engine/
4375
+ - vllm/entrypoints/pooling/
4376
+ - vllm/inputs/
4377
+ - vllm/lora/
4378
+ - vllm/model_executor/
4379
+ - vllm/multimodal/
4380
+ - vllm/outputs.py
4381
+ - vllm/platforms/
4382
+ - vllm/pooling_params.py
4383
+ - vllm/profiler/
4384
+ - vllm/sampling_params.py
4385
+ - vllm/tokenizers/
4386
+ - vllm/transformers_utils/
4387
+ - vllm/utils/
4388
+ - vllm/v1/
4389
+ - tests/v1/simple_kv_offload
4390
+ - tests/v1/streaming_input
4391
+ - tests/v1/ec_connector/unit
4392
commands:
3960
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
4393
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4394
- pytest -v -s -m 'not cpu_test' v1/core
4395
+
4396
+- label: ":amd: (MI355) V1 Executor + Worker"
4397
+ timeout_in_minutes: 60
4398
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4399
+ dind: false
4400
+ agent_pool: mi355_1
4401
+ optional: true
4402
+ working_dir: /vllm-workspace/tests
4403
+ source_file_dependencies:
4404
+ - vllm/
4405
+ - tests/v1/core
4406
+ - tests/v1/executor
4407
+ - tests/v1/kv_offload
4408
+ - tests/v1/worker
4409
+ - tests/v1/cudagraph
4410
+ - tests/v1/kv_connector/unit
4411
+ - tests/v1/metrics
4412
+ - tests/entrypoints/openai/correctness/test_lmeval.py
4413
+ - vllm/config/
4414
+ - vllm/distributed/
4415
+ - vllm/engine/
4416
+ - vllm/entrypoints/pooling/
4417
+ - vllm/inputs/
4418
+ - vllm/lora/
4419
+ - vllm/model_executor/
4420
+ - vllm/multimodal/
4421
+ - vllm/outputs.py
4422
+ - vllm/platforms/
4423
+ - vllm/pooling_params.py
4424
+ - vllm/profiler/
4425
+ - vllm/sampling_params.py
4426
+ - vllm/tokenizers/
4427
+ - vllm/transformers_utils/
4428
+ - vllm/utils/
4429
+ - vllm/v1/
4430
+ - tests/v1/simple_kv_offload
4431
+ - tests/v1/streaming_input
4432
+ - tests/v1/ec_connector/unit
4433
+ commands:
4434
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4435
- pytest -v -s v1/executor
3963
- - pytest -v -s v1/kv_offload
4436
- pytest -v -s v1/worker
3965
- - pytest -v -s v1/cudagraph/test_encoder_cudagraph.py
3966
- - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
4437
+ - pytest -v -s v1/streaming_input
4438
+
4439
+- label: ":amd: (MI355) V1 KV Offload"
4440
+ timeout_in_minutes: 60
4441
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4442
+ dind: false
4443
+ agent_pool: mi355_1
4444
+ optional: true
4445
+ working_dir: /vllm-workspace/tests
4446
+ source_file_dependencies:
4447
+ - vllm/
4448
+ - tests/v1/core
4449
+ - tests/v1/executor
4450
+ - tests/v1/kv_offload
4451
+ - tests/v1/worker
4452
+ - tests/v1/cudagraph
4453
+ - tests/v1/kv_connector/unit
4454
+ - tests/v1/metrics
4455
+ - tests/entrypoints/openai/correctness/test_lmeval.py
4456
+ - vllm/config/
4457
+ - vllm/distributed/
4458
+ - vllm/engine/
4459
+ - vllm/entrypoints/pooling/
4460
+ - vllm/inputs/
4461
+ - vllm/lora/
4462
+ - vllm/model_executor/
4463
+ - vllm/multimodal/
4464
+ - vllm/outputs.py
4465
+ - vllm/platforms/
4466
+ - vllm/pooling_params.py
4467
+ - vllm/profiler/
4468
+ - vllm/sampling_params.py
4469
+ - vllm/tokenizers/
4470
+ - vllm/transformers_utils/
4471
+ - vllm/utils/
4472
+ - vllm/v1/
4473
+ - tests/v1/simple_kv_offload
4474
+ - tests/v1/streaming_input
4475
+ - tests/v1/ec_connector/unit
4476
+ commands:
4477
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4478
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-offload.sh
4479
+ - pytest -v -s v1/kv_offload
4480
+ - pytest -v -s v1/simple_kv_offload
4481
+
4482
+- label: ":amd: (MI355) V1 KV Connectors Shard %N"
4483
+ timeout_in_minutes: 60
4484
+ parallelism: 4
4485
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4486
+ dind: false
4487
+ agent_pool: mi355_1
4488
+ optional: true
4489
+ working_dir: /vllm-workspace/tests
4490
+ source_file_dependencies:
4491
+ - vllm/
4492
+ - tests/v1/core
4493
+ - tests/v1/executor
4494
+ - tests/v1/kv_offload
4495
+ - tests/v1/worker
4496
+ - tests/v1/cudagraph
4497
+ - tests/v1/kv_connector/unit
4498
+ - tests/v1/metrics
4499
+ - tests/entrypoints/openai/correctness/test_lmeval.py
4500
+ - vllm/config/
4501
+ - vllm/distributed/
4502
+ - vllm/engine/
4503
+ - vllm/entrypoints/pooling/
4504
+ - vllm/inputs/
4505
+ - vllm/lora/
4506
+ - vllm/model_executor/
4507
+ - vllm/multimodal/
4508
+ - vllm/outputs.py
4509
+ - vllm/platforms/
4510
+ - vllm/pooling_params.py
4511
+ - vllm/profiler/
4512
+ - vllm/sampling_params.py
4513
+ - vllm/tokenizers/
4514
+ - vllm/transformers_utils/
4515
+ - vllm/utils/
4516
+ - vllm/v1/
4517
+ - tests/v1/simple_kv_offload
4518
+ - tests/v1/streaming_input
4519
+ - tests/v1/ec_connector/unit
4520
+ commands:
4521
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
4522
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4523
+ - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
4524
+ - pytest -v -s -m 'not cpu_test' v1/ec_connector/unit --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
4525
+
4526
+- label: ":amd: (MI355) V1 Metrics + LM Eval"
4527
+ timeout_in_minutes: 65
4528
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4529
+ dind: false
4530
+ agent_pool: mi355_1
4531
+ optional: true
4532
+ working_dir: /vllm-workspace/tests
4533
+ source_file_dependencies:
4534
+ - vllm/
4535
+ - tests/v1/core
4536
+ - tests/v1/executor
4537
+ - tests/v1/kv_offload
4538
+ - tests/v1/worker
4539
+ - tests/v1/cudagraph
4540
+ - tests/v1/kv_connector/unit
4541
+ - tests/v1/metrics
4542
+ - tests/entrypoints/openai/correctness/test_lmeval.py
4543
+ - vllm/config/
4544
+ - vllm/distributed/
4545
+ - vllm/engine/
4546
+ - vllm/entrypoints/pooling/
4547
+ - vllm/inputs/
4548
+ - vllm/lora/
4549
+ - vllm/model_executor/
4550
+ - vllm/multimodal/
4551
+ - vllm/outputs.py
4552
+ - vllm/platforms/
4553
+ - vllm/pooling_params.py
4554
+ - vllm/profiler/
4555
+ - vllm/sampling_params.py
4556
+ - vllm/tokenizers/
4557
+ - vllm/transformers_utils/
4558
+ - vllm/utils/
4559
+ - vllm/v1/
4560
+ - tests/v1/simple_kv_offload
4561
+ - tests/v1/streaming_input
4562
+ - tests/v1/ec_connector/unit
4563
+ commands:
4564
+ - export GIT_CONFIG_COUNT=1
4565
+ - export GIT_CONFIG_KEY_0=http.version
4566
+ - export GIT_CONFIG_VALUE_0=HTTP/1.1
4567
+ - export GIT_TERMINAL_PROMPT=0
4568
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4569
- pytest -v -s -m 'not cpu_test' v1/metrics
4570
- pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
4571
- pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
4572
3971
-- label: ":amd: (MI355) V1 Sample + Logits" # TBD
4573
+- label: ":amd: (MI355) CUDAGraph"
4574
timeout_in_minutes: 55
4575
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4576
dind: false
4577
agent_pool: mi355_1
4578
optional: true
4579
+ working_dir: /vllm-workspace/tests
4580
+ source_file_dependencies:
4581
+ - vllm/
4582
+ - tests/v1/core
4583
+ - tests/v1/executor
4584
+ - tests/v1/kv_offload
4585
+ - tests/v1/worker
4586
+ - tests/v1/cudagraph
4587
+ - tests/v1/kv_connector/unit
4588
+ - tests/v1/metrics
4589
+ - tests/entrypoints/openai/correctness/test_lmeval.py
4590
+ - vllm/v1/cudagraph_dispatcher.py
4591
+ - vllm/config/compilation.py
4592
+ - vllm/compilation
4593
+ - vllm/platforms/rocm.py
4594
+ - vllm/v1/worker/encoder_cudagraph.py
4595
+ - vllm/v1/worker/encoder_cudagraph_defs.py
4596
+ commands:
4597
+ - pytest -v -s v1/cudagraph/test_cudagraph_dispatch.py
4598
+ - pytest -v -s v1/cudagraph/test_cudagraph_mode.py
4599
+ - pytest -v -s v1/cudagraph/test_breakable_cudagraph.py
4600
+ - pytest -v -s v1/cudagraph/test_encoder_cudagraph.py
4601
+
4602
+
4603
+- label: ":amd: (MI355) V1 Sample"
4604
+ timeout_in_minutes: 70
4605
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4606
+ dind: false
4607
+ agent_pool: mi355_1
4608
+ optional: true
4609
working_dir: "/vllm-workspace/tests"
4610
source_file_dependencies:
4611
- vllm/
@@ -3982,15 +4614,56 @@ steps:
4614
- tests/v1/test_oracle.py
4615
- tests/v1/test_request.py
4616
- tests/v1/test_outputs.py
4617
+ - vllm/config/
4618
+ - vllm/distributed/
4619
+ - vllm/engine/
4620
+ - vllm/inputs/
4621
+ - vllm/logger.py
4622
+ - vllm/model_executor/
4623
+ - vllm/platforms/
4624
+ - vllm/sampling_params.py
4625
+ - vllm/transformers_utils/
4626
+ - vllm/utils/
4627
+ - vllm/v1/
4628
commands:
4629
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4630
- pytest -v -s v1/sample
4631
+
4632
+- label: ":amd: (MI355) V1 Logits + Oracle"
4633
+ timeout_in_minutes: 70
4634
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4635
+ dind: false
4636
+ agent_pool: mi355_1
4637
+ optional: true
4638
+ working_dir: /vllm-workspace/tests
4639
+ source_file_dependencies:
4640
+ - vllm/
4641
+ - tests/v1/sample
4642
+ - tests/v1/logits_processors
4643
+ - tests/v1/test_oracle.py
4644
+ - tests/v1/test_request.py
4645
+ - tests/v1/test_outputs.py
4646
+ - vllm/config/
4647
+ - vllm/distributed/
4648
+ - vllm/engine/
4649
+ - vllm/inputs/
4650
+ - vllm/logger.py
4651
+ - vllm/model_executor/
4652
+ - vllm/platforms/
4653
+ - vllm/sampling_params.py
4654
+ - vllm/transformers_utils/
4655
+ - vllm/utils/
4656
+ - vllm/v1/
4657
+ commands:
4658
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4659
- pytest -v -s v1/logits_processors
4660
- pytest -v -s v1/test_oracle.py
4661
- pytest -v -s v1/test_request.py
4662
- pytest -v -s v1/test_outputs.py
4663
4664
+
4665
- label: ":amd: (MI355) V1 Spec Decode" # TBD
3993
- timeout_in_minutes: 45
4666
+ timeout_in_minutes: 50
4667
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4668
dind: false
4669
agent_pool: mi355_1
@@ -3998,11 +4671,24 @@ steps:
4671
source_file_dependencies:
4672
- vllm/
4673
- tests/v1/spec_decode
4674
+ - vllm/config/
4675
+ - vllm/distributed/
4676
+ - vllm/inputs/
4677
+ - vllm/model_executor/
4678
+ - vllm/models/qwen4_exp/
4679
+ - vllm/platforms/
4680
+ - vllm/sampling_params.py
4681
+ - vllm/transformers_utils/
4682
+ - vllm/utils/
4683
+ - vllm/v1/
4684
+ optional: true
4685
commands:
4686
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
4687
- pytest -v -s -m 'not slow_test' v1/spec_decode
4688
4004
-- label: ":amd: (MI355) Spec Decode AL MTP + Other Acceptance" # TBD
4005
- timeout_in_minutes: 180
4689
+- label: ":amd: (MI355) Spec Decode AL MTP + Other Acceptance Nightly"
4690
+ timeout_in_minutes: 55
4691
+ parallelism: 3
4692
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4693
dind: false
4694
agent_pool: mi355_1
@@ -4026,13 +4712,17 @@ steps:
4712
- tests/utils.py
4713
- tests/v1/e2e/spec_decode/
4714
- vllm/platforms/rocm.py
4715
+ - vllm/v1/worker/gpu/spec_decode/
4716
+ - tests/v1/e2e/spec_decode/conftest.py
4717
commands:
4030
- - pytest -v -s v1/e2e/spec_decode/acceptance_rates/mtp_other/
4718
+ - 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
4719
+ - 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
4720
+ - 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
4721
4722
#------------------------------------------------------ mi355 · weight_loading -------------------------------------------------------#
4723
4724
- label: ":amd: (MI355) Weight Loading Multi-GPU" # TBD
4035
- timeout_in_minutes: 40
4725
+ timeout_in_minutes: 70
4726
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4727
dind: false
4728
agent_pool: mi355_2
@@ -4041,6 +4731,7 @@ steps:
4731
source_file_dependencies:
4732
- vllm/
4733
- tests/weight_loading
4734
+ optional: true
4735
commands:
4736
- bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-amd.txt
4737
@@ -4070,6 +4761,17 @@ steps:
4761
source_file_dependencies:
4762
- vllm/
4763
- tests/test_regression
4764
+ - vllm/config/
4765
+ - vllm/distributed/
4766
+ - vllm/engine/
4767
+ - vllm/inputs/
4768
+ - vllm/model_executor/
4769
+ - vllm/multimodal/
4770
+ - vllm/platforms/
4771
+ - vllm/sampling_params.py
4772
+ - vllm/transformers_utils/
4773
+ - vllm/utils/
4774
+ - vllm/v1/
4775
commands:
4776
- pip install 'modelscope<1.38'
4777
- pytest -v -s test_regression.py
.buildkite/test_areas/compile.yaml
+2
-2
@@ -92,7 +92,7 @@ steps:
92
dind: false
93
device: mi355_1
94
working_dir: "/vllm-workspace/"
95
- timeout_in_minutes: 25
95
+ timeout_in_minutes: 30
96
depends_on:
97
- image-build-amd
98
source_file_dependencies:
@@ -133,7 +133,7 @@ steps:
133
dind: false
134
device: mi355_1
135
working_dir: "/vllm-workspace/"
136
- timeout_in_minutes: 30
136
+ timeout_in_minutes: 40
137
depends_on:
138
- image-build-amd
139
source_file_dependencies:
.buildkite/test_areas/cuda.yaml
+2
-2
@@ -23,7 +23,7 @@ steps:
23
dind: false
24
device: mi355_1
25
working_dir: "/vllm-workspace/tests"
26
- timeout_in_minutes: 20
26
+ timeout_in_minutes: 25
27
depends_on:
28
- image-build-amd
29
source_file_dependencies:
@@ -50,7 +50,7 @@ steps:
50
amd:
51
label: ":amd: (MI250) CUDAGraph"
52
device: mi250_1
53
- timeout_in_minutes: 45
53
+ timeout_in_minutes: 55
54
depends_on:
55
- image-build-amd
56
source_file_dependencies:
.buildkite/test_areas/disaggregated.yaml
+7
-7
@@ -16,9 +16,9 @@ steps:
16
- bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
17
mirror:
18
amd:
19
- label: ":amd: (MI300) Distributed NixlConnector PD accuracy"
19
+ label: ":amd: (MI355) Distributed NixlConnector PD accuracy"
20
dind: false
21
- device: mi300_4
21
+ device: mi355_4
22
timeout_in_minutes: 60
23
depends_on:
24
- image-build-amd
@@ -71,9 +71,9 @@ steps:
71
- DP_EP=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
72
mirror:
73
amd:
74
- label: ":amd: (MI300) DP EP Distributed NixlConnector PD accuracy"
74
+ label: ":amd: (MI355) DP EP Distributed NixlConnector PD accuracy"
75
dind: false
76
- device: mi300_4
76
+ device: mi355_4
77
timeout_in_minutes: 40
78
depends_on:
79
- image-build-amd
@@ -130,7 +130,7 @@ steps:
130
label: ":amd: (MI300) Hybrid SSM NixlConnector PD accuracy"
131
dind: false
132
device: mi300_4
133
- timeout_in_minutes: 55
133
+ timeout_in_minutes: 60
134
depends_on:
135
- image-build-amd
136
source_file_dependencies:
@@ -221,9 +221,9 @@ steps:
221
- bash v1/kv_connector/nixl_integration/config_sweep_spec_decode_test.sh
222
mirror:
223
amd:
224
- label: ":amd: (MI300) NixlConnector PD + Spec Decode acceptance"
224
+ label: ":amd: (MI355) NixlConnector PD + Spec Decode acceptance"
225
dind: false
226
- device: mi300_2
226
+ device: mi355_2
227
timeout_in_minutes: 45
228
depends_on:
229
- image-build-amd
.buildkite/test_areas/distributed.yaml
+56
-2
@@ -65,9 +65,9 @@ steps:
65
- pytest -v -s v1/e2e/spec_decode/test_sharded_sampling.py
66
mirror:
67
amd:
68
- label: ":amd: (MI300) Distributed DP Basic"
68
+ label: ":amd: (MI355) Distributed DP Basic"
69
dind: false
70
- device: mi300_2
70
+ device: mi355_2
71
timeout_in_minutes: 45
72
depends_on:
73
- image-build-amd
@@ -125,6 +125,9 @@ steps:
125
- tests/compile/test_wrapper.py
126
- tests/entrypoints/llm/test_collective_rpc.py
127
- vllm/platforms/rocm.py
128
+ commands:
129
+ - pytest -v -s entrypoints/llm/test_collective_rpc.py
130
+ - pytest -v -s ./compile/test_wrapper.py
131
132
- label: ":nvidia: (L4) Distributed Torchrun + Shutdown"
133
key: distributed-torchrun-shutdown-tests-2-gpus
@@ -296,6 +299,57 @@ steps:
299
- pytest -v -s tests/v1/distributed/test_dbo.py
300
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
301
- pytest -v -s tests/distributed/test_packed_tensor.py
302
+ mirror:
303
+ amd:
304
+ label: ':amd: (MI355) Distributed Features'
305
+ dind: false
306
+ device: mi355_2
307
+ timeout_in_minutes: 90
308
+ working_dir: /vllm-workspace/
309
+ depends_on:
310
+ - image-build-amd
311
+ source_file_dependencies:
312
+ - vllm/distributed/
313
+ - vllm/v1/distributed/
314
+ - vllm/model_executor/layers/fused_moe/
315
+ - vllm/v1/attention/backends/
316
+ - vllm/v1/attention/selector.py
317
+ - tests/v1/distributed/test_dbo.py
318
+ - tests/distributed/test_context_parallel.py
319
+ - examples/features/data_parallel/data_parallel_offline.py
320
+ - vllm/_aiter_ops.py
321
+ - vllm/platforms/rocm.py
322
+ - csrc/custom_quickreduce.cu
323
+ - csrc/ops.h
324
+ - csrc/torch_bindings.cpp
325
+ - vllm/model_executor/layers/
326
+ - vllm/entrypoints/llm.py
327
+ - vllm/config/parallel.py
328
+ - vllm/v1/engine/
329
+ - vllm/v1/executor/
330
+ - vllm/v1/worker/
331
+ - vllm/_custom_ops.py
332
+ - vllm/envs.py
333
+ - tests/distributed/test_rocm_aiter_custom_ar.py
334
+ - tests/distributed/test_rocm_quick_reduce.py
335
+ - tests/distributed/test_quick_all_reduce.py
336
+ - tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
337
+ - tests/utils.py
338
+ - examples/rl/rlhf_async_new_apis.py
339
+ - tests/distributed/test_weight_transfer.py
340
+ - tests/distributed/test_packed_tensor.py
341
+ commands:
342
+ - pytest -v -s tests/distributed/test_context_parallel.py
343
+ - VLLM_ALLOW_INSECURE_SERIALIZATION=1 python3 examples/rl/rlhf_async_new_apis.py
344
+ - VLLM_LOGGING_LEVEL=DEBUG python3 examples/features/data_parallel/data_parallel_offline.py --model=Qwen/Qwen1.5-MoE-A2.7B -tp=1 -dp=2 --max-model-len=2048 --all2all-backend=deepep_high_throughput
345
+ - VLLM_LOGGING_LEVEL=DEBUG python3 examples/features/data_parallel/data_parallel_offline.py --model=Qwen/Qwen1.5-MoE-A2.7B -tp=1 -dp=2 --max-model-len=2048 --all2all-backend=allgather_reducescatter --disable-nccl-for-dp-synchronization
346
+ - pytest -v -s tests/v1/distributed/test_dbo.py
347
+ - VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
348
+ - pytest -v -s tests/distributed/test_packed_tensor.py
349
+ - pytest -v -s tests/distributed/test_rocm_aiter_custom_ar.py
350
+ - pytest -v -s tests/v1/e2e/general/test_rocm_aiter_custom_ar.py
351
+ - pytest -v -s tests/distributed/test_rocm_quick_reduce.py
352
+ - pytest -v -s tests/distributed/test_quick_all_reduce.py
353
354
- label: ":nvidia: (B200) Distributed"
355
key: distributed-tests-2xb200
.buildkite/test_areas/e2e_integration.yaml
+1
-1
@@ -57,7 +57,7 @@ steps:
57
dind: false
58
device: mi355_1
59
working_dir: "/vllm-workspace"
60
- timeout_in_minutes: 20
60
+ timeout_in_minutes: 30
61
depends_on:
62
- image-build-amd
63
source_file_dependencies:
.buildkite/test_areas/engine.yaml
+4
@@ -56,6 +56,8 @@ steps:
56
timeout_in_minutes: 45
57
depends_on:
58
- image-build-amd
59
+ source_file_dependencies:
60
+ - vllm/platforms/rocm.py
61
62
- label: ":nvidia: (H200 MIG 18GB) E2E Scheduling"
63
key: e2e-scheduling-1-gpu
@@ -73,6 +75,8 @@ steps:
75
timeout_in_minutes: 55
76
depends_on:
77
- image-build-amd
78
+ source_file_dependencies:
79
+ - vllm/platforms/rocm.py
80
81
- label: ":nvidia: (H200 MIG 18GB) E2E Core"
82
device: h200_18gb
.buildkite/test_areas/entrypoints.yaml
+22
-2
@@ -21,9 +21,11 @@ steps:
21
label: ":amd: (MI355) Entrypoints Unit"
22
dind: false
23
device: mi355_1
24
- timeout_in_minutes: 35
24
+ timeout_in_minutes: 50
25
depends_on:
26
- image-build-amd
27
+ source_file_dependencies:
28
+ - vllm/platforms/rocm.py
29
30
- label: ":nvidia: (H200 MIG 35GB) Entrypoints Integration (LLM)"
31
device: h200_35gb
@@ -44,7 +46,7 @@ steps:
46
label: ":amd: (MI300) Entrypoints Integration (LLM)"
47
dind: false
48
device: mi300_1
47
- timeout_in_minutes: 55
49
+ timeout_in_minutes: 90
50
depends_on:
51
- image-build-amd
52
@@ -176,6 +178,15 @@ steps:
178
commands:
179
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
180
- pytest -v -s entrypoints/speech_to_text
181
+ mirror:
182
+ amd:
183
+ label: ":amd: (MI355) Entrypoints Integration (Speech to Text)"
184
+ dind: false
185
+ device: mi355_1
186
+ timeout_in_minutes: 60
187
+ working_dir: "/vllm-workspace/tests"
188
+ depends_on:
189
+ - image-build-amd
190
191
- label: ":nvidia: (H200 MIG 35GB) Entrypoints Integration (Multimodal)"
192
device: h200_35gb
@@ -210,6 +221,15 @@ steps:
221
commands:
222
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
223
- pytest -v -s entrypoints/pooling
224
+ mirror:
225
+ amd:
226
+ label: ":amd: (MI355) Entrypoints Integration (Pooling)"
227
+ dind: false
228
+ device: mi355_1
229
+ timeout_in_minutes: 65
230
+ working_dir: "/vllm-workspace/tests"
231
+ depends_on:
232
+ - image-build-amd
233
234
- label: ":nvidia: (H200 MIG 18GB) OpenAI API Correctness"
235
key: openai-api-correctness
.buildkite/test_areas/kernels.yaml
+185
-4
@@ -13,6 +13,22 @@ steps:
13
commands:
14
- pytest -v -s tests/ir
15
- pytest -v -s tests/kernels/ir
16
+ mirror:
17
+ amd:
18
+ label: ":amd: (MI355) vLLM IR"
19
+ dind: false
20
+ device: mi355_1
21
+ timeout_in_minutes: 50
22
+ working_dir: "/vllm-workspace/"
23
+ depends_on:
24
+ - image-build-amd
25
+ source_file_dependencies:
26
+ - tests/ir/
27
+ - tests/kernels/ir/
28
+ - vllm/ir
29
+ - vllm/kernels
30
+ - vllm/_aiter_ops.py
31
+ - vllm/platforms/rocm.py
32
33
- label: ":nvidia: (H200 MIG 35GB) Core Operation Kernels Shard %N"
34
device: h200_35gb
@@ -26,6 +42,29 @@ steps:
42
commands:
43
- pytest -v -s kernels/core --ignore=kernels/core/test_minimax_reduce_rms.py kernels/test_concat_mla_q.py kernels/test_fused_qk_norm_rope_gate.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
44
parallelism: 3
45
+ mirror:
46
+ amd:
47
+ label: ":amd: (MI355) Core Operation Kernels Shard %N"
48
+ dind: false
49
+ device: mi355_1
50
+ timeout_in_minutes: 40
51
+ working_dir: "/vllm-workspace/tests"
52
+ depends_on:
53
+ - image-build-amd
54
+ source_file_dependencies:
55
+ - csrc/
56
+ - tests/kernels/core
57
+ - tests/kernels/test_top_k_per_row.py
58
+ - tests/kernels/test_concat_mla_q.py
59
+ - tests/kernels/test_rocm_fp32_router_gemm.py
60
+ - vllm/model_executor/layers/fused_moe/router/gate_linear.py
61
+ - vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py
62
+ - vllm/model_executor/layers/rotary_embedding/
63
+ - vllm/_aiter_ops.py
64
+ - vllm/platforms/rocm.py
65
+ - tests/kernels/test_fused_qk_norm_rope_gate.py
66
+ commands:
67
+ - pytest -v -s kernels/core --ignore=kernels/core/test_minimax_reduce_rms.py kernels/test_fused_qk_norm_rope_gate.py kernels/test_concat_mla_q.py kernels/test_top_k_per_row.py kernels/test_rocm_fp32_router_gemm.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
68
69
- label: ":nvidia: (H100) MiniMax Reduce RMS Kernels"
70
key: kernels-minimax-reduce-rms-test-2-gpus
@@ -145,6 +184,7 @@ steps:
184
dind: false
185
device: mi300_1
186
timeout_in_minutes: 90
187
+ parallelism: 6
188
depends_on:
189
- image-build-amd
190
source_file_dependencies:
@@ -208,9 +248,6 @@ steps:
248
label: ":amd: (MI300) Quantization Kernels Shard %N"
249
dind: false
250
device: mi300_1
211
- # Pin the AMD mirror at its current 2 shards so raising NVIDIA
212
- # parallelism does not multiply AMD copies (needs ci-infra #473).
213
- parallelism: 2
251
timeout_in_minutes: 120
252
source_file_dependencies:
253
- csrc/quantization/
@@ -222,6 +259,12 @@ steps:
259
- vllm/kernels/aiter_ops.py
260
- vllm/platforms/rocm.py
261
- vllm/model_executor/kernels/
262
+ - csrc/rocm/
263
+ - vllm/v1/attention/backends/rocm_aiter_fa.py
264
+ - tests/kernels/quant_utils.py
265
+ - tests/kernels/utils.py
266
+ - vllm/_custom_ops.py
267
+ - vllm/envs.py
268
depends_on:
269
- image-build-amd
270
@@ -258,6 +301,10 @@ steps:
301
- vllm/config
302
- vllm/_aiter_ops.py
303
- vllm/platforms/rocm.py
304
+ - csrc/rocm/
305
+ - tests/kernels/utils.py
306
+ - vllm/model_executor/layers/quantization/mxfp4.py
307
+ - vllm/model_executor/layers/quantization/utils/quant_utils.py
308
depends_on:
309
- image-build-amd
310
@@ -278,6 +325,8 @@ steps:
325
timeout_in_minutes: 55
326
depends_on:
327
- image-build-amd
328
+ source_file_dependencies:
329
+ - vllm/platforms/rocm.py
330
331
- label: ":nvidia: (H100) DeepGEMM Kernels"
332
key: kernels-deepgemm-test-h100
@@ -463,6 +512,9 @@ steps:
512
timeout_in_minutes: 45
513
depends_on:
514
- image-build-amd
515
+ source_file_dependencies:
516
+ - vllm/platforms/rocm.py
517
+ - scripts/benchmark_helion_kernels.py
518
519
520
- label: ":nvidia: (H100) FP8 MoE Kernels"
@@ -491,6 +543,25 @@ steps:
543
commands:
544
- pytest -v -s kernels/moe/test_deepep_deepgemm_moe.py
545
- pytest -v -s kernels/moe/test_deepep_moe.py
546
+ mirror:
547
+ amd:
548
+ label: ":amd: (MI355) DeepEP FP8 MoE Kernels"
549
+ dind: false
550
+ device: mi355_2
551
+ timeout_in_minutes: 55
552
+ working_dir: "/vllm-workspace/tests"
553
+ depends_on:
554
+ - image-build-amd
555
+ source_file_dependencies:
556
+ - csrc/moe/
557
+ - csrc/quantization/w8a8/cutlass/moe/
558
+ - vllm/model_executor/layers/fused_moe/
559
+ - tests/kernels/moe/test_deepep_moe.py
560
+ - vllm/_aiter_ops.py
561
+ - vllm/platforms/rocm.py
562
+ - vllm/envs.py
563
+ commands:
564
+ - pytest -v -s kernels/moe/test_deepep_moe.py
565
566
- label: ":nvidia: (B200) FP4 MoE Kernels"
567
key: kernels-fp4-moe-test-b200
@@ -520,7 +591,30 @@ steps:
591
- vllm/config
592
commands:
593
- pytest -v -s kernels/moe/test_moe_layer.py
523
-
594
+ mirror:
595
+ amd:
596
+ label: ":amd: (MI355) FusedMoE Layer Kernels"
597
+ dind: false
598
+ device: mi355_2
599
+ timeout_in_minutes: 35
600
+ working_dir: "/vllm-workspace/tests"
601
+ depends_on:
602
+ - image-build-amd
603
+ source_file_dependencies:
604
+ - csrc/moe/
605
+ - csrc/rocm/
606
+ - tests/kernels/moe
607
+ - vllm/model_executor/layers/fused_moe/
608
+ - vllm/model_executor/layers/quantization/
609
+ - vllm/distributed/
610
+ - vllm/config/
611
+ - vllm/forward_context.py
612
+ - vllm/v1/worker/workspace.py
613
+ - vllm/utils/import_utils.py
614
+ - vllm/utils/math_utils.py
615
+ - vllm/utils/torch_utils.py
616
+ - vllm/platforms/
617
+ - vllm/_aiter_ops.py
618
619
- label: ":nvidia: (B200) FusedMoE Layer Kernels"
620
key: kernels-fusedmoe-layer-test-2-b200s
@@ -538,3 +632,90 @@ steps:
632
commands:
633
- pytest -v -s kernels/moe/test_moe_layer.py
634
- pytest -v -s kernels/moe/test_deepep_v2_moe.py
635
+
636
+- label: ":amd: (MI355) MLA Kernels"
637
+ key: amd-mla-kernels-mi355
638
+ dind: false
639
+ device: mi355_1
640
+ num_devices: 1
641
+ timeout_in_minutes: 25
642
+ working_dir: /vllm-workspace/
643
+ depends_on:
644
+ - image-build-amd
645
+ source_file_dependencies:
646
+ - vllm/v1/attention/backends/mla/rocm_aiter_mla.py
647
+ - vllm/v1/attention/selector.py
648
+ - vllm/platforms/rocm.py
649
+ - vllm/_aiter_ops.py
650
+ - tests/kernels/attention/test_rocm_aiter_mla_decode.py
651
+ - tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
652
+ - tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
653
+ - tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
654
+ commands:
655
+ - amd-smi
656
+ - pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
657
+ - pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode.py
658
+ - pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_fp8_support.py
659
+ - pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_op_registration.py
660
+
661
+- label: ":amd: (MI355) FP8 MoE Kernels"
662
+ key: amd-fp8-moe-kernels-mi355
663
+ dind: false
664
+ device: mi355_1
665
+ num_devices: 1
666
+ timeout_in_minutes: 40
667
+ working_dir: /vllm-workspace/tests
668
+ depends_on:
669
+ - image-build-amd
670
+ source_file_dependencies:
671
+ - csrc/moe/
672
+ - vllm/model_executor/layers/fused_moe/
673
+ - tests/kernels/moe/test_deepep_moe.py
674
+ - vllm/_aiter_ops.py
675
+ - vllm/platforms/rocm.py
676
+ - vllm/envs.py
677
+ - tests/kernels/moe/test_gpt_oss_triton_kernels.py
678
+ - tests/kernels/moe/test_modular_oai_triton_moe.py
679
+ - tests/kernels/moe/test_moe.py
680
+ - tests/kernels/moe/test_block_int8.py
681
+ - tests/kernels/moe/test_triton_moe_no_act_mul.py
682
+ - tests/kernels/moe/test_triton_moe_ptpc_fp8.py
683
+ commands:
684
+ - pytest -v -s kernels/moe/test_gpt_oss_triton_kernels.py
685
+ - pytest -v -s kernels/moe/test_modular_oai_triton_moe.py
686
+ - pytest -v -s kernels/moe/test_moe.py
687
+ - pytest -v -s kernels/moe/test_block_int8.py
688
+ - pytest -v -s kernels/moe/test_triton_moe_no_act_mul.py
689
+ - pytest -v -s kernels/moe/test_triton_moe_ptpc_fp8.py
690
+
691
+- label: ":amd: (MI355) Kernels"
692
+ key: amd-kernels-mi355
693
+ dind: false
694
+ device: mi355_1
695
+ num_devices: 1
696
+ timeout_in_minutes: 25
697
+ working_dir: /vllm-workspace/
698
+ depends_on:
699
+ - image-build-amd
700
+ source_file_dependencies:
701
+ - csrc/quantization/fp4/
702
+ - csrc/attention/mla/
703
+ - csrc/quantization/cutlass_w8a8/moe/
704
+ - vllm/model_executor/layers/fused_moe/cutlass_moe.py
705
+ - vllm/v1/attention/backends/triton_attn.py
706
+ - vllm/v1/attention/backends/rocm_attn.py
707
+ - vllm/v1/attention/backends/rocm_aiter_fa.py
708
+ - vllm/v1/attention/backends/rocm_aiter_unified_attn.py
709
+ - vllm/v1/attention/backends/mla/aiter_triton_mla.py
710
+ - vllm/v1/attention/backends/mla/rocm_aiter_mla.py
711
+ - vllm/v1/attention/selector.py
712
+ - vllm/platforms/rocm.py
713
+ - vllm/_aiter_ops.py
714
+ - examples/basic/offline_inference/chat.py
715
+ - tests/kernels/attention/test_attention_selector.py
716
+ - tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
717
+ commands:
718
+ - amd-smi
719
+ - python3 examples/basic/offline_inference/chat.py --attention-backend TRITON_ATTN
720
+ - pytest -v -s tests/kernels/attention/test_attention_selector.py
721
+ - pytest -v -s tests/kernels/attention/test_rocm_aiter_mla_decode_metadata.py
.buildkite/test_areas/lm_eval.yaml
+26
-2
@@ -30,6 +30,27 @@ steps:
30
- vllm/_aiter_ops.py
31
- vllm/platforms/rocm.py
32
33
+- label: ":amd: (MI300) LM Eval Small Models Harness"
34
+ key: amd-lm-eval-small-models-harness
35
+ dind: false
36
+ device: mi300_1
37
+ timeout_in_minutes: 35
38
+ depends_on:
39
+ - image-build-amd
40
+ working_dir: /vllm-workspace/.buildkite/lm-eval-harness
41
+ source_file_dependencies:
42
+ - csrc/
43
+ - vllm/model_executor/layers/quantization
44
+ - vllm/model_executor/models/
45
+ - vllm/model_executor/model_loader/
46
+ - vllm/v1/attention/backends/
47
+ - vllm/v1/attention/selector.py
48
+ - vllm/_aiter_ops.py
49
+ - vllm/platforms/rocm.py
50
+ - .buildkite/lm-eval-harness/
51
+ commands:
52
+ - pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-small-rocm.txt
53
+
54
- label: ":nvidia: (H200 MIG 35GB) LM Eval Watermarking"
55
device: h200_35gb
56
key: lm-eval-watermarking
@@ -100,7 +121,7 @@ steps:
121
label: ":amd: (MI355) LM Eval Small Models Distributed"
122
dind: false
123
device: mi355_2
103
- timeout_in_minutes: 45
124
+ timeout_in_minutes: 55
125
depends_on:
126
- image-build-amd
127
source_file_dependencies:
@@ -286,13 +307,16 @@ steps:
307
label: ":amd: (MI300) LM Eval Large Models"
308
dind: false
309
device: mi300_8
289
- timeout_in_minutes: 40
310
+ timeout_in_minutes: 65
311
depends_on:
312
- image-build-amd
313
commands:
314
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
315
- export PYTORCH_ROCM_ARCH=gfx942 # Limit Quark compilation to save time
316
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx.txt
317
+ source_file_dependencies:
318
+ - vllm/_aiter_ops.py
319
+ - vllm/platforms/rocm.py
320
321
- label: ":nvidia: (H100) MoE Refactor Integration TEMPORARY"
322
key: moe-refactor-integration-test-h100-temporary
.buildkite/test_areas/lora.yaml
+9
-9
@@ -61,7 +61,7 @@ steps:
61
dind: false
62
device: mi300_4
63
working_dir: "/vllm-workspace/tests"
64
- timeout_in_minutes: 25
64
+ timeout_in_minutes: 65
65
depends_on:
66
- image-build-amd
67
source_file_dependencies:
@@ -73,11 +73,11 @@ steps:
73
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
74
# expandable_segments breaks custom all-reduce IPC on ROCm.
75
- case "$$BUILDKITE_PARALLEL_JOB" in 0|1|2|3) ;; *) echo "unexpected BUILDKITE_PARALLEL_JOB=$$BUILDKITE_PARALLEL_JOB" && exit 1;; esac
76
- - test "$$BUILDKITE_PARALLEL_JOB" != "3" || pytest -v -s -x lora/test_chatglm3_tp.py
77
- - test "$$BUILDKITE_PARALLEL_JOB" != "1" || pytest -v -s -x lora/test_llama_tp.py
78
- - test "$$BUILDKITE_PARALLEL_JOB" != "3" || pytest -v -s -x lora/test_qwen3_with_multi_loras.py
79
- - test "$$BUILDKITE_PARALLEL_JOB" != "2" || pytest -v -s -x lora/test_olmoe_tp.py
80
- - test "$$BUILDKITE_PARALLEL_JOB" != "0" || pytest -v -s -x lora/test_gptoss_tp.py
81
- - test "$$BUILDKITE_PARALLEL_JOB" != "1" || pytest -v -s -x lora/test_qwen35_densemodel_lora.py
82
- - test "$$BUILDKITE_PARALLEL_JOB" != "2" || pytest -v -s -x lora/test_gemma4_tp.py
83
- - test "$$BUILDKITE_PARALLEL_JOB" != "0" || pytest -v -s -x lora/test_sequence_classification.py::test_batched_loras_tp
76
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "3" ]; then pytest -v -s -x lora/test_chatglm3_tp.py; fi
77
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s -x lora/test_llama_tp.py; fi
78
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "3" ]; then pytest -v -s -x lora/test_qwen3_with_multi_loras.py; fi
79
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s -x lora/test_olmoe_tp.py; fi
80
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s -x lora/test_gptoss_tp.py; fi
81
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s -x lora/test_qwen35_densemodel_lora.py; fi
82
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s -x lora/test_gemma4_tp.py; fi
83
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s -x lora/test_sequence_classification.py::test_batched_loras_tp; fi
.buildkite/test_areas/misc.yaml
+36
-7
@@ -99,7 +99,7 @@ steps:
99
label: ":amd: (MI300) V1 Core"
100
dind: false
101
device: mi300_1
102
- timeout_in_minutes: 45
102
+ timeout_in_minutes: 60
103
depends_on:
104
- image-build-amd
105
@@ -119,7 +119,7 @@ steps:
119
label: ":amd: (MI300) V1 Executor + Worker"
120
dind: false
121
device: mi300_1
122
- timeout_in_minutes: 45
122
+ timeout_in_minutes: 60
123
depends_on:
124
- image-build-amd
125
@@ -138,7 +138,7 @@ steps:
138
label: ":amd: (MI300) V1 KV Offload"
139
dind: false
140
device: mi300_1
141
- timeout_in_minutes: 45
141
+ timeout_in_minutes: 60
142
depends_on:
143
- image-build-amd
144
@@ -158,7 +158,7 @@ steps:
158
label: ":amd: (MI300) V1 KV Connectors Shard %N"
159
dind: false
160
device: mi300_1
161
- timeout_in_minutes: 45
161
+ timeout_in_minutes: 60
162
depends_on:
163
- image-build-amd
164
@@ -258,7 +258,7 @@ steps:
258
label: ":amd: (MI355) Extract Hidden States Integration"
259
dind: false
260
device: mi355_2
261
- timeout_in_minutes: 20
261
+ timeout_in_minutes: 30
262
depends_on:
263
- image-build-amd
264
source_file_dependencies:
@@ -305,6 +305,15 @@ steps:
305
- pip install 'modelscope<1.38'
306
- pytest -v -s test_regression.py
307
working_dir: "/vllm-workspace/tests" # optional
308
+ mirror:
309
+ amd:
310
+ label: ":amd: (MI355) Regression"
311
+ dind: false
312
+ device: mi355_1
313
+ timeout_in_minutes: 25
314
+ depends_on:
315
+ - image-build-amd
316
+ working_dir: /vllm-workspace/tests
317
318
- label: ":nvidia: (H200 MIG 35GB) Examples"
319
device: h200_35gb
@@ -446,9 +455,15 @@ steps:
455
label: ":amd: (MI355) Async Engine, Inputs, Utils, Worker"
456
dind: false
457
device: mi355_1
449
- timeout_in_minutes: 40
458
+ timeout_in_minutes: 50
459
depends_on:
460
- image-build-amd
461
+ commands:
462
+ - pytest -v -s detokenizer
463
+ - pytest -v -s -m 'not cpu_test' multimodal
464
+ # test_cache.py marks every test cpu_test, including this GPU regression.
465
+ - pytest -v -s multimodal/test_cache.py::test_sleep_wake_preserves_mm_cache_consistency
466
+ - pytest -v -s utils_
467
468
- label: ":computer: (CPU) Params, Env, Tokenizers, Parser"
469
key: cpu-params-env-tokenizers-parser
@@ -572,7 +587,7 @@ steps:
587
amd:
588
label: ":amd: (MI250) Batch Invariance"
589
device: mi250_1
575
- timeout_in_minutes: 30
590
+ timeout_in_minutes: 35
591
depends_on:
592
- image-build-amd
593
source_file_dependencies:
@@ -623,3 +638,17 @@ steps:
638
commands:
639
- export VLLM_ALLOW_INSECURE_SERIALIZATION=1
640
- pytest -v -s v1/spec_decode/test_acceptance_length.py -m slow_test
641
+ mirror:
642
+ amd:
643
+ label: ":amd: (MI355) Acceptance Length (Large Models)"
644
+ dind: false
645
+ device: mi355_1
646
+ timeout_in_minutes: 45
647
+ depends_on:
648
+ - image-build-amd
649
+ working_dir: /vllm-workspace/tests
650
+ source_file_dependencies:
651
+ - vllm/v1/spec_decode/
652
+ - vllm/model_executor/models/mlp_speculator.py
653
+ - tests/v1/spec_decode/test_acceptance_length.py
654
+ - vllm/platforms/rocm.py
.buildkite/test_areas/models_basic.yaml
+19
-2
@@ -19,7 +19,7 @@ steps:
19
label: ":amd: (MI355) Basic Models (Initialization)"
20
dind: false
21
device: mi355_1
22
- timeout_in_minutes: 25
22
+ timeout_in_minutes: 30
23
depends_on:
24
- image-build-amd
25
@@ -37,6 +37,23 @@ steps:
37
# test.) Also run if model initialization test file is modified
38
- pytest -v -s models/test_initialization.py -k 'not test_can_initialize_small_subset' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
39
parallelism: 14
40
+ mirror:
41
+ amd:
42
+ label: ":amd: (MI355) Basic Models (Extra Initialization) Shard %N"
43
+ dind: false
44
+ device: mi355_1
45
+ timeout_in_minutes: 60
46
+ parallelism: 10
47
+ working_dir: "/vllm-workspace/tests"
48
+ depends_on:
49
+ - image-build-amd
50
+ source_file_dependencies:
51
+ - vllm/model_executor/models/
52
+ - vllm/model_executor/layers/
53
+ - tests/models/test_initialization.py
54
+ - tests/models/registry.py
55
+ - vllm/_aiter_ops.py
56
+ - vllm/platforms/rocm.py
57
58
- label: ":nvidia: (H200 MIG 35GB) Basic Models (Other)"
59
device: h200_35gb
@@ -162,6 +179,6 @@ steps:
179
device: mi250_1
180
no_gpu: true
181
working_dir: "/vllm-workspace/tests"
165
- timeout_in_minutes: 25
182
+ timeout_in_minutes: 35
183
depends_on:
184
- image-build-amd
.buildkite/test_areas/models_distributed.yaml
+4
-4
@@ -38,7 +38,7 @@ steps:
38
label: ":amd: (MI300) Distributed Models Shard %N"
39
dind: false
40
device: mi300_2
41
- timeout_in_minutes: 35
41
+ timeout_in_minutes: 80
42
depends_on:
43
- image-build-amd
44
source_file_dependencies:
@@ -63,7 +63,7 @@ steps:
63
- |
64
case "$$BUILDKITE_PARALLEL_JOB" in
65
0)
66
- TARGET_TEST_SUITE=MI300 pytest basic_correctness/ -v -s -m 'distributed(num_gpus=2)'
66
+ TARGET_TEST_SUITE=MI300 pytest basic_correctness/ -v -s -m 'distributed(num_gpus=2)' &&
67
HIP_VISIBLE_DEVICES=0,1 pytest -v -s model_executor/model_loader/test_sharded_state_loader.py -m '(not slow_test)'
68
;;
69
1)
@@ -72,8 +72,8 @@ steps:
72
VLLM_ROCM_USE_AITER=1 pytest -v -s models/test_hyv4_rocm.py -m 'distributed(num_gpus=2)'
73
;;
74
2)
75
- pytest models/multimodal -v -s -m 'distributed(num_gpus=2)' --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_phi4siglip.py
76
- pytest models/multimodal/generation/test_phi4siglip.py -v -s -m 'distributed(num_gpus=2)'
75
+ pytest models/multimodal -v -s -m 'distributed(num_gpus=2)' --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_phi4siglip.py &&
76
+ pytest models/multimodal/generation/test_phi4siglip.py -v -s -m 'distributed(num_gpus=2)' &&
77
VLLM_WORKER_MULTIPROC_METHOD=spawn pytest models/multimodal/generation/test_whisper.py -v -s -m 'distributed(num_gpus=2)'
78
;;
79
*) exit 2 ;;
.buildkite/test_areas/models_language.yaml
+5
-8
@@ -19,7 +19,7 @@ steps:
19
label: ":amd: (MI300) Language Models (Standard)"
20
dind: false
21
device: mi300_1
22
- timeout_in_minutes: 45
22
+ timeout_in_minutes: 60
23
depends_on:
24
- image-build-amd
25
@@ -82,10 +82,10 @@ steps:
82
parallelism: 2
83
mirror:
84
amd:
85
- label: ":amd: (MI300) Language Models (Hybrid) Shard %N"
85
+ label: ":amd: (MI355) Language Models (Hybrid) Shard %N"
86
dind: false
87
- device: mi300_1
88
- timeout_in_minutes: 60
87
+ device: mi355_1
88
+ timeout_in_minutes: 65
89
depends_on:
90
- image-build-amd
91
commands:
@@ -133,7 +133,7 @@ steps:
133
label: ":amd: (MI355) Language Models (Extended Generation)"
134
dind: false
135
device: mi355_1
136
- timeout_in_minutes: 70
136
+ timeout_in_minutes: 95
137
depends_on:
138
- image-build-amd
139
commands:
@@ -197,11 +197,8 @@ steps:
197
dind: false
198
device: mi300_1
199
timeout_in_minutes: 95
200
- parallelism: 2
200
depends_on:
201
- image-build-amd
203
- commands:
204
- - pytest -v -s models/language/pooling -m 'not core_model' --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
202
203
- label: ":nvidia: (H200 MIG 18GB) Language Models (MTEB)"
204
key: language-models-test-mteb
.buildkite/test_areas/models_multimodal.yaml
+4
-3
@@ -77,9 +77,9 @@ steps:
77
- cd .. && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model # Otherwise, mp_method="spawn" doesn't work
78
mirror:
79
amd:
80
- label: ":amd: (MI300) Multimodal Models (Standard) 4: other + whisper"
80
+ label: ":amd: (MI355) Multimodal Models (Standard) 4: other + whisper"
81
dind: false
82
- device: mi300_1
82
+ device: mi355_1
83
timeout_in_minutes: 70
84
depends_on:
85
- image-build-amd
@@ -104,7 +104,8 @@ steps:
104
device: mi250_1
105
no_gpu: true
106
working_dir: "/vllm-workspace/tests"
107
- timeout_in_minutes: 80
107
+ timeout_in_minutes: 90
108
+ parallelism: 6
109
depends_on:
110
- image-build-amd
111
.buildkite/test_areas/plugins.yaml
+14
@@ -75,6 +75,20 @@ steps:
75
commands:
76
- pip install "vllm-gguf-plugin >= 0.0.2"
77
- pytest -v -s plugins_tests/gguf
78
+ mirror:
79
+ amd:
80
+ label: ":amd: (MI355) GGUF Plugin"
81
+ dind: false
82
+ device: mi355_1
83
+ timeout_in_minutes: 45
84
+ working_dir: "/vllm-workspace/tests"
85
+ depends_on:
86
+ - image-build-amd
87
+ source_file_dependencies:
88
+ - vllm/model_executor/layers/quantization
89
+ - tests/plugins_tests/test_gguf_plugin.py
90
+ - tests/plugins_tests/gguf
91
+ - vllm/platforms/rocm.py
92
93
- label: ":nvidia: (H200 MIG 18GB) BitsAndBytes Plugin"
94
key: bitsandbytes-plugin
.buildkite/test_areas/pytorch.yaml
+16
@@ -122,6 +122,21 @@ steps:
122
- tests/compile/passes
123
commands:
124
- pytest -s -v compile/passes --ignore compile/passes/distributed
125
+ mirror:
126
+ amd:
127
+ label: ':amd: (MI300) PyTorch Compilation Passes'
128
+ dind: false
129
+ device: mi300_1
130
+ timeout_in_minutes: 80
131
+ working_dir: /vllm-workspace/tests
132
+ depends_on:
133
+ - image-build-amd
134
+ source_file_dependencies:
135
+ - vllm/
136
+ - tests/compile/passes
137
+ - vllm/platforms/rocm.py
138
+ commands:
139
+ - pytest -s -v compile/passes --ignore compile/passes/distributed
140
141
- label: ":nvidia: (H200 MIG 35GB) PyTorch Fullgraph"
142
device: h200_35gb
@@ -154,6 +169,7 @@ steps:
169
- vllm/utils/
170
- vllm/v1/
171
- tests/compile
172
+ - csrc/
173
commands:
174
# Run smoke tests under fullgraph directory, except test_full_cudagraph.py
175
# as it is a heavy test that is covered in other steps.
.buildkite/test_areas/quantization.yaml
+44
@@ -20,6 +20,31 @@ steps:
20
# The SM90-only checkpoint currently contains a removed weight_chan_scale
21
# parameter. It was not exercised by the previous L4 job.
22
- VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py -k 'not test_compressed_tensors_w4a8_fp8' --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
23
+ mirror:
24
+ amd:
25
+ label: ":amd: (MI355) Quantization Shard %N"
26
+ dind: false
27
+ device: mi355_1
28
+ timeout_in_minutes: 115
29
+ working_dir: "/vllm-workspace/tests"
30
+ depends_on:
31
+ - image-build-amd
32
+ source_file_dependencies:
33
+ - csrc/
34
+ - vllm/model_executor/layers/quantization
35
+ - tests/quantization
36
+ - vllm/_aiter_ops.py
37
+ - vllm/platforms/rocm.py
38
+ - vllm/model_executor/layers/fused_moe/oracle/unquantized.py
39
+ - vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py
40
+ - tests/rocm/test_moe_weight_replay.py
41
+ commands:
42
+ # Use the ROCm default instead of the NVIDIA runner override.
43
+ - unset VLLM_USE_V2_MODEL_RUNNER
44
+ - uv pip install --system torchao==0.17.0
45
+ - uv pip install --system conch-triton-kernels
46
+ - VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
47
+ - if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s rocm/test_moe_weight_replay.py; fi
48
49
- label: ":nvidia: (H200 MIG 35GB) Quantized Fusions"
50
device: h200_35gb
@@ -63,3 +88,22 @@ steps:
88
- tests/models/quantization
89
commands:
90
- pytest -v -s models/quantization
91
+ mirror:
92
+ amd:
93
+ label: ":amd: (MI355) Quantized Models"
94
+ dind: false
95
+ device: mi355_1
96
+ timeout_in_minutes: 80
97
+ working_dir: "/vllm-workspace/tests"
98
+ depends_on:
99
+ - image-build-amd
100
+ source_file_dependencies:
101
+ - vllm/model_executor/layers/quantization
102
+ - tests/models/quantization
103
+ - vllm/_aiter_ops.py
104
+ - vllm/platforms/rocm.py
105
+ - vllm/model_executor/model_loader/
106
+ commands:
107
+ # Use the ROCm default instead of the NVIDIA runner override.
108
+ - unset VLLM_USE_V2_MODEL_RUNNER
109
+ - pytest -v -s models/quantization
.buildkite/test_areas/ray_compat.yaml
+16
@@ -16,3 +16,19 @@ steps:
16
- setup.py
17
commands:
18
- bash /vllm-workspace/.buildkite/scripts/check-ray-compatibility.sh
19
+ mirror:
20
+ amd:
21
+ label: ":amd: (MI355) Ray Dependency Compatibility Check"
22
+ dind: false
23
+ device: mi355_1
24
+ timeout_in_minutes: 25
25
+ working_dir: "/"
26
+ depends_on:
27
+ - image-build-amd
28
+ source_file_dependencies:
29
+ - .buildkite/scripts/check-ray-compatibility.sh
30
+ - requirements/
31
+ - setup.py
32
+ - vllm/platforms/rocm.py
33
+ commands:
34
+ - bash /vllm-workspace/.buildkite/scripts/check-ray-compatibility.sh
.buildkite/test_areas/rust_frontend.yaml
+2
-2
@@ -136,7 +136,7 @@ steps:
136
label: ":amd: (MI355) Rust Frontend Core Correctness"
137
dind: false
138
device: mi355_1
139
- timeout_in_minutes: 20
139
+ timeout_in_minutes: 25
140
depends_on:
141
- image-build-amd
142
source_file_dependencies:
@@ -166,7 +166,7 @@ steps:
166
label: ":amd: (MI355) Rust Frontend Tool Use"
167
dind: false
168
device: mi355_1
169
- timeout_in_minutes: 25
169
+ timeout_in_minutes: 30
170
depends_on:
171
- image-build-amd
172
source_file_dependencies:
.buildkite/test_areas/spec_decode.yaml
+36
-6
@@ -47,7 +47,7 @@ steps:
47
label: ":amd: (MI300) Spec Decode Eagle 1: DeepSeek + Qwen"
48
dind: false
49
device: mi300_1
50
- timeout_in_minutes: 35
50
+ timeout_in_minutes: 60
51
depends_on:
52
- image-build-amd
53
source_file_dependencies:
@@ -74,7 +74,7 @@ steps:
74
label: ":amd: (MI300) Spec Decode Eagle 2: Llama 3 + Qwen VL + Other"
75
dind: false
76
device: mi300_1
77
- timeout_in_minutes: 25
77
+ timeout_in_minutes: 60
78
depends_on:
79
- image-build-amd
80
source_file_dependencies:
@@ -187,7 +187,7 @@ steps:
187
label: ":amd: (MI300) Spec Decode Draft Model"
188
dind: false
189
device: mi300_1
190
- timeout_in_minutes: 55
190
+ timeout_in_minutes: 60
191
depends_on:
192
- image-build-amd
193
source_file_dependencies:
@@ -233,6 +233,9 @@ steps:
233
timeout_in_minutes: 40
234
depends_on:
235
- image-build-amd
236
+ source_file_dependencies:
237
+ - vllm/_aiter_ops.py
238
+ - vllm/platforms/rocm.py
239
240
- label: ":nvidia: (B200) Spec Decode DeepSeek MTP Parallel Load"
241
key: spec-decode-deepseek-mtp-parallel-load-2xb200-2xmi300
@@ -362,6 +365,33 @@ steps:
365
# Each Gemma4 parametrization is an indivisible ~23m floor. Keep them in
366
# separate shards and put the remaining tests in shard 0, where new tests
367
# land by default.
365
- - test "$$BUILDKITE_PARALLEL_JOB" != "0" || 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]"
366
- - test "$$BUILDKITE_PARALLEL_JOB" != "1" || pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[False]"
367
- - test "$$BUILDKITE_PARALLEL_JOB" != "2" || pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[True]"
368
+ - 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
369
+ - 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
370
+ - 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
371
+ mirror:
372
+ amd:
373
+ label: ":amd: (MI355) Spec Decode AL MTP + Other Acceptance Nightly"
374
+ dind: false
375
+ device: mi355_1
376
+ timeout_in_minutes: 55
377
+ depends_on:
378
+ - image-build-amd
379
+ working_dir: /vllm-workspace/tests
380
+ source_file_dependencies:
381
+ - vllm/v1/spec_decode/
382
+ - vllm/v1/sample/
383
+ - vllm/v1/worker/gpu/
384
+ - vllm/v1/worker/gpu_model_runner.py
385
+ - vllm/v1/worker/gpu_worker.py
386
+ - vllm/model_executor/model_loader/
387
+ - vllm/model_executor/models/gemma4.py
388
+ - vllm/model_executor/models/gemma4_mm.py
389
+ - vllm/model_executor/models/gemma4_mtp.py
390
+ - vllm/model_executor/models/llama.py
391
+ - vllm/model_executor/models/llama_eagle3.py
392
+ - vllm/model_executor/models/medusa.py
393
+ - vllm/model_executor/models/registry.py
394
+ - tests/evals/gsm8k/
395
+ - tests/utils.py
396
+ - tests/v1/e2e/spec_decode/
397
+ - vllm/platforms/rocm.py
.buildkite/test_areas/weight_loading.yaml
+1
-1
@@ -20,7 +20,7 @@ steps:
20
label: ":amd: (MI355) Weight Loading Multi-GPU"
21
dind: false
22
device: mi355_2
23
- timeout_in_minutes: 40
23
+ timeout_in_minutes: 70
24
depends_on:
25
- image-build-amd
26
commands: