[ROCm][CI] Add missing test coverage for upstream parity (#50519)
Signed-off-by: Andreas Karatzas <akaratza@amd.com> Signed-off-by: Stefan Koncarevic <Stefan.Koncarevic@amd.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com> Co-authored-by: Stefan Koncarevic <Stefan.Koncarevic@amd.com> Co-authored-by: OpenAI Codex <codex@openai.com> Co-authored-by: OpenAI Codex <noreply@openai.com>
Andreas Karatzas committed
Sep 28, 2026 at 15:12 UTC
beef814e1d3aa1e198b604a08aa2494fad9842be
11 files changed
+649
-20
.buildkite/test-amd.yaml
+424
-16
@@ -200,9 +200,9 @@ steps:
200
- pytest -v -s test_sampling_params.py
201
- pytest -v -s -m 'cpu_test' multimodal
202
- pytest -v -s renderers
203
- - pytest -v -s tokenizers_
203
- pytest -v -s reasoning
204
- pytest -v -s tool_parsers
205
+ - pytest -v -s tokenizers_
206
- pytest -v -s parser
207
- pytest -v -s transformers_utils
208
- pytest -v -s config --ignore=config/test_mp_reducer.py
@@ -262,6 +262,24 @@ steps:
262
commands:
263
- pytest -v -s tools/test_docker_build_metadata_args.py
264
265
+- label: ":amd: (MI250) Torch Stable ABI Audit" # TBD
266
+ timeout_in_minutes: 35
267
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
268
+ dind: false
269
+ agent_pool: mi300_1
270
+ no_gpu: true
271
+ optional: true
272
+ working_dir: "/vllm-workspace/"
273
+ source_file_dependencies:
274
+ - .buildkite/check-torch-abi.py
275
+ - csrc/
276
+ - cmake/
277
+ - setup.py
278
+ - vllm/platforms/rocm.py
279
+ commands:
280
+ - uv pip install --system torch-abi-audit==0.0.1
281
+ - python3 /vllm-workspace/.buildkite/check-torch-abi.py
282
+
283
#########################################################################################################################################
284
# #
285
# MI250 (gfx90a) tests #
@@ -415,9 +433,9 @@ steps:
433
- vllm/v1/cudagraph_dispatcher.py
434
- vllm/config/compilation.py
435
- vllm/compilation
418
- - vllm/platforms/rocm.py
436
- vllm/v1/worker/encoder_cudagraph.py
437
- vllm/v1/worker/encoder_cudagraph_defs.py
438
+ - vllm/platforms/rocm.py
439
commands:
440
- pytest -v -s v1/cudagraph/test_cudagraph_dispatch.py
441
- pytest -v -s v1/cudagraph/test_cudagraph_mode.py
@@ -660,6 +678,8 @@ steps:
678
- "pytest -v -s tests/compile/fusions_e2e/test_tp1_quant.py -k 'inductor_partition and not +rms_norm and not +quant_fp8'"
679
# Different from CUDA, Qwen requires +rms_norm and +quant_fp8 as rms+quant fusion is only supported on AITER
680
- "pytest -v -s tests/compile/fusions_e2e/test_tp1_quant.py -k 'inductor_partition and +rms_norm and +quant_fp8 and qwen3'"
681
+ # DeepSeek-Coder uses the portable static-FP8 MLA fusion path on ROCm.
682
+ - "pytest -v -s tests/compile/fusions_e2e/test_tp1_quant.py -k 'inductor_partition and not +rms_norm and +quant_fp8 and DeepSeek-Coder and TRITON_MLA and not True'"
683
684
- label: ":amd: (MI300) PyTorch Compilation Passes" # TBD
685
timeout_in_minutes: 80
@@ -768,7 +788,7 @@ steps:
788
- vllm/platforms/rocm.py
789
commands:
790
- export VLLM_TEST_CLEAN_GPU_MEMORY=1
771
- - VLLM_TEST_CLEAN_GPU_MEMORY=1 pytest -v -s tests/compile/passes/distributed/test_async_tp.py
791
+ - pytest -s -v tests/compile/passes/distributed
792
- pytest -v -s tests/compile/fusions_e2e/test_tp2_ar_rms.py::test_tp2_ar_rms_fusions -k "inductor_partition"
793
794
- label: ":amd: (MI300) Distributed Compile (Dynamo Partition)" # TBD
@@ -790,6 +810,25 @@ steps:
810
- VLLM_TEST_CLEAN_GPU_MEMORY=1 pytest -v -s tests/compile/passes/distributed/test_async_tp.py
811
- pytest -v -s tests/compile/fusions_e2e/test_tp2_ar_rms.py::test_tp2_ar_rms_fusions -k "dynamo_partition"
812
813
+# - label: ":amd: (MI300) Sequence Parallel Correctness" # TBD
814
+# timeout_in_minutes: 180
815
+# mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
816
+# dind: false
817
+# agent_pool: mi300_2
818
+# num_gpus: 2
819
+# optional: true
820
+# working_dir: "/vllm-workspace/"
821
+# source_file_dependencies:
822
+# - vllm/model_executor/layers/
823
+# - vllm/compilation/
824
+# - vllm/v1/worker/
825
+# - vllm/v1/cudagraph_dispatcher.py
826
+# - tests/compile/correctness_e2e/test_sequence_parallel.py
827
+# - vllm/platforms/rocm.py
828
+# commands:
829
+# - export VLLM_TEST_CLEAN_GPU_MEMORY=1
830
+# - pytest -v -s tests/compile/correctness_e2e/test_sequence_parallel.py
831
+
832
- label: ":amd: (MI300) Distributed Compile + RPC" # TBD
833
timeout_in_minutes: 65
834
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -1000,7 +1039,7 @@ steps:
1039
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 python3 ../examples/rl/rlhf_http_ipc.py
1040
1041
- label: ":amd: (MI300) Elastic EP Scaling" # TBD
1003
- timeout_in_minutes: 50
1042
+ timeout_in_minutes: 55
1043
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1044
dind: false
1045
agent_pool: mi300_4
@@ -1015,6 +1054,7 @@ steps:
1054
- tests/distributed/
1055
- vllm/platforms/rocm.py
1056
commands:
1057
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
1058
- pytest -v -s distributed/test_elastic_ep.py
1059
1060
- label: ":amd: (MI300) RayExecutorV2" # TBD
@@ -1248,6 +1288,59 @@ steps:
1288
commands:
1289
- pytest -s -v evals/mrcr/test_mrcr_correctness.py --config-list-file=evals/mrcr/configs/models-small.txt
1290
1291
+- label: ":amd: (MI300) LM Eval KV-Offload" # TBD
1292
+ timeout_in_minutes: 55
1293
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1294
+ dind: false
1295
+ agent_pool: mi300_1
1296
+ optional: true
1297
+ working_dir: "/vllm-workspace/tests"
1298
+ source_file_dependencies:
1299
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
1300
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
1301
+ - vllm/v1/kv_offload/
1302
+ - vllm/v1/simple_kv_offload/
1303
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
1304
+ - vllm/platforms/rocm.py
1305
+ commands:
1306
+ - pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "nemotron-h-8b or gemma-4-e4b-it"
1307
+
1308
+- label: ":amd: (MI300) LM Eval KV-Offload Medium" # TBD
1309
+ timeout_in_minutes: 70
1310
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1311
+ dind: false
1312
+ agent_pool: mi300_2
1313
+ num_gpus: 2
1314
+ optional: true
1315
+ working_dir: "/vllm-workspace/tests"
1316
+ source_file_dependencies:
1317
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
1318
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
1319
+ - vllm/v1/kv_offload/
1320
+ - vllm/v1/simple_kv_offload/
1321
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
1322
+ - vllm/platforms/rocm.py
1323
+ commands:
1324
+ - pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "qwen3.5-35b or deepseek-v2-lite"
1325
+
1326
+- label: ":amd: (MI300) LM Eval KV-Offload Large" # TBD
1327
+ timeout_in_minutes: 65
1328
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1329
+ dind: false
1330
+ agent_pool: mi300_4
1331
+ num_gpus: 4
1332
+ optional: true
1333
+ working_dir: "/vllm-workspace/tests"
1334
+ source_file_dependencies:
1335
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
1336
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
1337
+ - vllm/v1/kv_offload/
1338
+ - vllm/v1/simple_kv_offload/
1339
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
1340
+ - vllm/platforms/rocm.py
1341
+ commands:
1342
+ - VLLM_ROCM_USE_AITER=1 pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "deepseek-v4-flash"
1343
+
1344
- label: ":amd: (MI300) LM Eval Small Models Harness" # TBD
1345
timeout_in_minutes: 35
1346
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -1399,6 +1492,9 @@ steps:
1492
commands:
1493
- bash .buildkite/scripts/scheduled_integration_test/qwen30b_a3b_fp8_dp4_async_eplb.sh 0.8 200 8050
1494
1495
+# TODO(akaratza): Retire this standalone ROCm coverage after
1496
+# tests/distributed/test_eplb_spec_decode.py is enabled and validated on ROCm.
1497
+# The upstream parity job currently skips that entire module on ROCm.
1498
- label: ":amd: (MI300) Qwen3-Next-80B-A3B-Instruct MTP Async EPLB Accuracy" # TBD
1499
timeout_in_minutes: 45
1500
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -1447,7 +1543,7 @@ steps:
1543
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx.txt
1544
1545
- label: ":amd: (MI300) LM Eval Large Models ROCm Harness" # TBD
1450
- timeout_in_minutes: 55
1546
+ timeout_in_minutes: 40
1547
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1548
dind: false
1549
agent_pool: mi300_8
@@ -1466,7 +1562,7 @@ steps:
1562
- vllm/platforms/rocm.py
1563
commands:
1564
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
1469
- - pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-large-rocm.txt --tp-size=8
1565
+ - pytest -s -v test_lm_eval_correctness.py --config-list-file=configs/models-large-rocm.txt --tp-size=8 --timeout=5400
1566
1567
- label: ":amd: (MI300) LM Eval Large Models FP8" # TBD
1568
timeout_in_minutes: 40
@@ -1492,7 +1588,7 @@ steps:
1588
#---------------------------------------------------------- mi300 · kernels ----------------------------------------------------------#
1589
1590
- label: ":amd: (MI300) Core Operation Kernels Shard %N" # TBD
1495
- timeout_in_minutes: 40
1591
+ timeout_in_minutes: 45
1592
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1593
dind: false
1594
agent_pool: mi300_1
@@ -1630,8 +1726,8 @@ steps:
1726
commands:
1727
- pytest -v -s kernels/core/test_minimax_reduce_rms.py
1728
1633
-- label: ":amd: (MI300) KDA Kernels" # TBD
1634
- timeout_in_minutes: 30
1729
+- label: ":amd: (MI300) Kimi K3" # TBD
1730
+ timeout_in_minutes: 65
1731
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1732
dind: false
1733
agent_pool: mi300_1
@@ -1644,11 +1740,20 @@ steps:
1740
- vllm/models/kimi_k3/nvidia/kda.py
1741
- vllm/models/kimi_k3/nvidia/kda_metadata.py
1742
- vllm/models/kimi_k3/nvidia/ops/third_party/kda/
1743
+ - vllm/models/kimi_k3/amd/
1744
+ - CMakeLists.txt
1745
+ - csrc/libtorch_stable/kimi_k3/fused_kda_decode_kernel_rocm.cu
1746
+ - csrc/libtorch_stable/ops.h
1747
+ - csrc/libtorch_stable/torch_bindings.cpp
1748
+ - tests/models/kimi_k3/test_amd_attn_res.py
1749
+ - tests/models/kimi_k3/test_amd_kda_decode.py
1750
- tests/models/kimi_k3/test_kda.py
1751
- tests/models/kimi_k3/test_kda_metadata.py
1752
+ - vllm/_custom_ops.py
1753
- vllm/platforms/rocm.py
1754
commands:
1651
- - pytest -v -s models/kimi_k3/test_kda.py models/kimi_k3/test_kda_metadata.py
1755
+ # Run the ROCm AttnRes/KDA decode counterparts plus existing KDA coverage.
1756
+ - pytest -v -s models/kimi_k3/test_amd_attn_res.py models/kimi_k3/test_amd_kda_decode.py models/kimi_k3/test_kda.py models/kimi_k3/test_kda_metadata.py
1757
1758
- label: ":amd: (MI355) Kimi K3" # TBD
1759
timeout_in_minutes: 60
@@ -1782,6 +1887,135 @@ steps:
1887
- pytest -v -s model_executor -m '(not slow_test)' --timeout=900 --timeout-method=thread
1888
- pytest -v -s entrypoints/openai/completion/test_tensorizer_entrypoint.py --timeout=900 --timeout-method=thread
1889
1890
+#---------------------------------------------------- mi300 · model_runner_v2 -------------------------------------------------------#
1891
+
1892
+- label: ":amd: (MI300) Model Runner V2 Core" # TBD
1893
+ timeout_in_minutes: 55
1894
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1895
+ dind: false
1896
+ agent_pool: mi300_1
1897
+ optional: true
1898
+ working_dir: "/vllm-workspace/tests"
1899
+ source_file_dependencies:
1900
+ - vllm/v1/worker/gpu/
1901
+ - vllm/v1/worker/gpu_worker.py
1902
+ - vllm/v1/core/sched/
1903
+ - vllm/v1/attention/
1904
+ - tests/v1/engine/test_llm_engine.py
1905
+ - tests/v1/e2e/
1906
+ - tests/entrypoints/llm/test_struct_output_generate.py
1907
+ - vllm/platforms/rocm.py
1908
+ commands:
1909
+ - set -x
1910
+ - export VLLM_USE_V2_MODEL_RUNNER=1
1911
+ - pytest -v -s v1/engine/test_llm_engine.py -k "not test_engine_metrics"
1912
+ - pytest -v -s v1/e2e/general/test_async_scheduling.py -k "not ngram"
1913
+ - pytest -v -s v1/e2e/general/test_context_length.py
1914
+ - pytest -v -s v1/e2e/general/test_min_tokens.py
1915
+ - 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"
1916
+
1917
+- label: ":amd: (MI300) Model Runner V2 Examples" # TBD
1918
+ timeout_in_minutes: 40
1919
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1920
+ dind: false
1921
+ agent_pool: mi300_1
1922
+ optional: true
1923
+ working_dir: "/vllm-workspace/examples"
1924
+ source_file_dependencies:
1925
+ - vllm/v1/worker/gpu/
1926
+ - vllm/v1/core/sched/
1927
+ - vllm/v1/worker/gpu_worker.py
1928
+ - examples/basic/offline_inference/
1929
+ - examples/generate/multimodal/
1930
+ - examples/features/
1931
+ - examples/pooling/embed/vision_embedding_offline.py
1932
+ - examples/features/tensorize_vllm_model.py
1933
+ - examples/deployment/llm_engine_example.py
1934
+ - vllm/platforms/rocm.py
1935
+ commands:
1936
+ - set -x
1937
+ - export VLLM_USE_V2_MODEL_RUNNER=1
1938
+ - pip install tensorizer
1939
+ - python3 basic/offline_inference/chat.py
1940
+ - python3 basic/offline_inference/generate.py --model facebook/opt-125m
1941
+ - python3 generate/multimodal/audio_language_offline.py --seed 0
1942
+ - python3 generate/multimodal/vision_language_offline.py --seed 0
1943
+ - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1944
+ - python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
1945
+ - python3 pooling/embed/vision_embedding_offline.py --seed 0
1946
+ - python3 features/automatic_prefix_caching/prefix_caching_offline.py
1947
+ - python3 deployment/llm_engine_example.py
1948
+ - 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
1949
+ - 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
1950
+ - 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
1951
+
1952
+- label: ":amd: (MI300) Model Runner V2 Distributed" # TBD
1953
+ timeout_in_minutes: 45
1954
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1955
+ dind: false
1956
+ agent_pool: mi300_2
1957
+ num_gpus: 2
1958
+ optional: true
1959
+ working_dir: "/vllm-workspace/tests"
1960
+ source_file_dependencies:
1961
+ - vllm/v1/worker/gpu/
1962
+ - vllm/v1/worker/gpu_worker.py
1963
+ - tests/basic_correctness/test_basic_correctness.py
1964
+ - tests/v1/distributed/test_async_llm_dp.py
1965
+ - tests/v1/distributed/test_eagle_dp.py
1966
+ - vllm/platforms/rocm.py
1967
+ commands:
1968
+ - set -x
1969
+ - export VLLM_USE_V2_MODEL_RUNNER=1
1970
+ - TARGET_TEST_SUITE=MI300 pytest -v -s basic_correctness/test_basic_correctness.py -m 'distributed(num_gpus=2)' -k "not ray and not True"
1971
+ - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_async_llm_dp.py -k "not ray"
1972
+ - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_eagle_dp.py
1973
+
1974
+- label: ":amd: (MI300) Model Runner V2 Pipeline Parallelism" # TBD
1975
+ timeout_in_minutes: 65
1976
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1977
+ dind: false
1978
+ agent_pool: mi300_4
1979
+ num_gpus: 4
1980
+ optional: true
1981
+ working_dir: "/vllm-workspace/tests"
1982
+ source_file_dependencies:
1983
+ - vllm/v1/worker/gpu/
1984
+ - vllm/v1/worker/gpu_worker.py
1985
+ - tests/distributed/test_pipeline_parallel.py
1986
+ - tests/distributed/test_pp_cudagraph.py
1987
+ - vllm/platforms/rocm.py
1988
+ commands:
1989
+ - set -x
1990
+ - export VLLM_USE_V2_MODEL_RUNNER=1
1991
+ - pytest -v -s distributed/test_pipeline_parallel.py -k "not ray"
1992
+ - pytest -v -s distributed/test_pp_cudagraph.py -k "not ray"
1993
+
1994
+- label: ":amd: (MI300) Model Runner V2 Spec Decode" # TBD
1995
+ timeout_in_minutes: 90
1996
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
1997
+ dind: false
1998
+ agent_pool: mi300_1
1999
+ optional: true
2000
+ working_dir: "/vllm-workspace/tests"
2001
+ source_file_dependencies:
2002
+ - vllm/v1/worker/gpu/
2003
+ - vllm/v1/worker/gpu_worker.py
2004
+ - tests/v1/spec_decode/test_max_len.py
2005
+ - tests/v1/spec_decode/test_rejection_sampler_utils.py
2006
+ - tests/v1/spec_decode/test_synthetic_rejection_sampler_utils.py
2007
+ - tests/v1/e2e/spec_decode/
2008
+ - vllm/platforms/rocm.py
2009
+ commands:
2010
+ - set -x
2011
+ - export VLLM_USE_V2_MODEL_RUNNER=1
2012
+ - pytest -v -s v1/spec_decode/test_max_len.py -k "eagle or mtp"
2013
+ - pytest -v -s v1/spec_decode/test_rejection_sampler_utils.py
2014
+ - pytest -v -s v1/spec_decode/test_synthetic_rejection_sampler_utils.py
2015
+ - pytest -v -s v1/e2e/spec_decode/eagle/
2016
+ - pytest -v -s v1/e2e/spec_decode/speculators/
2017
+ - pytest -v -s v1/e2e/spec_decode/mtp/
2018
+
2019
#------------------------------------------------------ mi300 · models / basic -------------------------------------------------------#
2020
2021
- label: ":amd: (MI300) Basic Models (Initialization)" # TBD
@@ -2259,6 +2493,23 @@ steps:
2493
- VLLM_TEST_FORCE_LOAD_FORMAT=auto pytest -v -s quantization/ --ignore quantization/test_blackwell_moe.py --ignore quantization/test_rocm_moe.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
2494
- if [ "$$BUILDKITE_PARALLEL_JOB" = "0" ]; then pytest -v -s rocm/test_moe_weight_replay.py; fi
2495
2496
+- label: ":amd: (MI300) Quantized Fusions" # TBD
2497
+ timeout_in_minutes: 45
2498
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2499
+ dind: false
2500
+ agent_pool: mi300_1
2501
+ optional: true
2502
+ working_dir: "/vllm-workspace/tests"
2503
+ source_file_dependencies:
2504
+ - tests/fusion
2505
+ - vllm/model_executor/layers/fusion
2506
+ - vllm/model_executor/kernels/linear
2507
+ - vllm/model_executor/layers/quantization/compressed_tensors
2508
+ - vllm/model_executor/layers/quantization/modelopt.py
2509
+ - vllm/platforms/rocm.py
2510
+ commands:
2511
+ - pytest -v -s fusion/
2512
+
2513
#--------------------------------------------------------- mi300 · samplers ----------------------------------------------------------#
2514
2515
- label: ":amd: (MI300) Samplers" # TBD
@@ -2412,8 +2663,8 @@ steps:
2663
source_file_dependencies:
2664
- vllm/v1/engine/
2665
- tests/v1/engine/
2415
- - vllm/platforms/rocm.py
2666
- tests/v1/test_tensor_ipc_queue.py
2667
+ - vllm/platforms/rocm.py
2668
commands:
2669
- pytest -v -s v1/engine/test_preprocess_error_handling.py
2670
- pytest -v -s v1/engine --ignore v1/engine/test_preprocess_error_handling.py
@@ -2626,6 +2877,23 @@ steps:
2877
- export BASELINE_FILE='/tmp/mooncake-ec-e2e/baseline.json'
2878
- bash tests/v1/ec_connector/integration/run_epd_mooncake_ec_full_pipeline.sh
2879
2880
+- label: ":amd: (MI300) NixlConnector PD edge case" # TBD
2881
+ timeout_in_minutes: 65
2882
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2883
+ dind: false
2884
+ agent_pool: mi300_2
2885
+ num_gpus: 2
2886
+ optional: true
2887
+ working_dir: "/vllm-workspace/tests"
2888
+ source_file_dependencies:
2889
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2890
+ - vllm/v1/core/sched/
2891
+ - tests/v1/kv_connector/nixl_integration/
2892
+ - vllm/platforms/rocm.py
2893
+ commands:
2894
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2895
+ - PREFILL_GPU_ID=0 DECODE_GPU_ID=1 ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/run_edge_case_test.sh
2896
+
2897
- label: ":amd: (MI300) CrossLayer KV layout Distributed NixlConnector PD accuracy" # TBD
2898
timeout_in_minutes: 60
2899
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -2666,6 +2934,55 @@ steps:
2934
- pytest -v -s v1/engine/test_engine_core_client.py::test_kv_cache_events_dp
2935
- pytest -v -s distributed/test_utils.py
2936
2937
+- label: ":amd: (MI300) Distributed NixlConnector PD accuracy" # TBD
2938
+ timeout_in_minutes: 45
2939
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2940
+ dind: false
2941
+ agent_pool: mi300_4
2942
+ num_gpus: 4
2943
+ optional: true
2944
+ working_dir: "/vllm-workspace/tests"
2945
+ source_file_dependencies:
2946
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2947
+ - tests/v1/kv_connector/nixl_integration/
2948
+ - vllm/platforms/rocm.py
2949
+ commands:
2950
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2951
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
2952
+
2953
+- label: ":amd: (MI300) Push NixlConnector PP prefill PD accuracy" # TBD
2954
+ timeout_in_minutes: 55
2955
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2956
+ dind: false
2957
+ agent_pool: mi300_4
2958
+ num_gpus: 4
2959
+ optional: true
2960
+ working_dir: "/vllm-workspace/tests"
2961
+ source_file_dependencies:
2962
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2963
+ - tests/v1/kv_connector/nixl_integration/
2964
+ - tests/v1/kv_connector/nixl_push_integration/
2965
+ - vllm/platforms/rocm.py
2966
+ commands:
2967
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2968
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_push_integration/config_sweep_accuracy_test.sh
2969
+
2970
+- label: ":amd: (MI300) DP EP Distributed NixlConnector PD accuracy" # TBD
2971
+ timeout_in_minutes: 30
2972
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
2973
+ dind: false
2974
+ agent_pool: mi300_4
2975
+ num_gpus: 4
2976
+ optional: true
2977
+ working_dir: "/vllm-workspace/tests"
2978
+ source_file_dependencies:
2979
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
2980
+ - tests/v1/kv_connector/nixl_integration/
2981
+ - vllm/platforms/rocm.py
2982
+ commands:
2983
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
2984
+ - DP_EP=1 ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
2985
+
2986
- label: ":amd: (MI300) Hybrid SSM NixlConnector PD accuracy" # TBD
2987
timeout_in_minutes: 80
2988
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
@@ -3648,7 +3965,11 @@ steps:
3965
- vllm/model_executor/models/qwen3.py
3966
- vllm/model_executor/models/qwen3_next.py
3967
- vllm/model_executor/models/qwen3_next_mtp.py
3968
+ - vllm/distributed/
3969
+ - vllm/model_executor/layers/fused_moe/
3970
- vllm/third_party/flash_linear_attention/ops/
3971
+ - tests/evals/gsm8k/
3972
+ - tests/utils.py
3973
- vllm/_aiter_ops.py
3974
- vllm/platforms/rocm.py
3975
commands:
@@ -3780,14 +4101,44 @@ steps:
4101
commands:
4102
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-t3nc-rocm.txt
4103
3783
-- label: ":amd: (MI355) LM Eval Small Models Distributed"
3784
- timeout_in_minutes: 55
4104
+- label: ":amd: (MI355) LM Eval Spec Decode (Fixed-length FP8)" # TBD
4105
+ timeout_in_minutes: 145
4106
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4107
dind: false
4108
+ agent_pool: mi355_4
4109
+ num_gpus: 4
4110
+ optional: true
4111
+ working_dir: "/vllm-workspace/tests"
4112
+ source_file_dependencies:
4113
+ - tests/evals/gsm8k/
4114
+ - tests/utils.py
4115
+ - vllm/distributed/
4116
+ - vllm/models/deepseek_v4/
4117
+ - vllm/model_executor/models/qwen3_dspark.py
4118
+ - vllm/model_executor/layers/fused_moe/
4119
+ - vllm/v1/spec_decode/metrics.py
4120
+ - vllm/v1/worker/gpu/spec_decode/dspark/
4121
+ - vllm/v1/worker/gpu/spec_decode/rejection_sampler.py
4122
+ - vllm/v1/worker/gpu/spec_decode/speculator.py
4123
+ - vllm/model_executor/layers/quantization/
4124
+ - vllm/v1/attention/
4125
+ - vllm/_aiter_ops.py
4126
+ - vllm/platforms/rocm.py
4127
+ commands:
4128
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-spec-decode-rocm.txt
4129
+
4130
+- label: ':amd: (MI355) LM Eval Small Models Distributed'
4131
+ timeout_in_minutes: 145
4132
+ mirror_hardwares:
4133
+ - amdexperimental
4134
+ - amdproduction
4135
+ - amdgfx950nightly
4136
+ - amdmi355
4137
+ dind: false
4138
agent_pool: mi355_2
4139
num_gpus: 2
4140
optional: true
3790
- working_dir: "/vllm-workspace/tests"
4141
+ working_dir: /vllm-workspace/tests
4142
source_file_dependencies:
4143
- csrc/
4144
- vllm/model_executor/layers/quantization
@@ -3795,11 +4146,22 @@ steps:
4146
- vllm/model_executor/model_loader/
4147
- vllm/v1/attention/backends/
4148
- vllm/v1/attention/selector.py
4149
+ - vllm/v1/worker/
4150
+ - vllm/v1/core/
4151
+ - vllm/config/
4152
+ - tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
4153
- vllm/_aiter_ops.py
4154
- vllm/platforms/rocm.py
3800
- - tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
4155
+ - tests/evals/gsm8k/
4156
+ - tests/utils.py
4157
+ - vllm/distributed/
4158
+ - vllm/transformers_utils/configs/diffusion_gemma.py
4159
+ - vllm/v1/attention/ops/
4160
+ - tests/evals/gsm8k/configs/models-small-tp-mi355.txt
4161
commands:
4162
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx-fp8-and-mixed.txt
4163
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small-tp.txt
4164
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small-tp-mi355.txt
4165
4166
- label: ":amd: (MI355) MoE Refactor Integration Shard %N"
4167
timeout_in_minutes: 105
@@ -3820,6 +4182,7 @@ steps:
4182
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
4183
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/moe-refactor/config-rocm-shard-$$BUILDKITE_PARALLEL_JOB.txt
4184
4185
+
4186
- label: ":amd: (MI355) Qwen3-30B-A3B-FP8-block Sync EPLB Accuracy" # TBD
4187
timeout_in_minutes: 25
4188
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
@@ -4351,6 +4714,22 @@ steps:
4714
commands:
4715
- 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
4716
4717
+- label: ":amd: (MI355) Inkling" # TBD
4718
+ timeout_in_minutes: 65
4719
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
4720
+ dind: false
4721
+ agent_pool: mi355_1
4722
+ optional: true
4723
+ working_dir: "/vllm-workspace/tests"
4724
+ source_file_dependencies:
4725
+ - vllm/models/inkling/
4726
+ - vllm/cute_utils/
4727
+ - cmake/external_projects/tml_fa4.cmake
4728
+ - tests/models/inkling/
4729
+ - vllm/platforms/rocm.py
4730
+ commands:
4731
+ - pytest -v -s models/inkling/rocm
4732
+
4733
#----------------------------------------------------- mi355 · models / language -----------------------------------------------------#
4734
4735
- label: ":amd: (MI355 DPX) Language Models (Standard)" # TBD
@@ -5105,7 +5484,8 @@ steps:
5484
- vllm/platforms/rocm.py
5485
optional: true
5486
commands:
5108
- - pytest -v -s v1/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
5487
+ - pytest -v -s v1/attention --ignore=v1/attention/test_mla_backends.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
5488
+ - VLLM_ROCM_USE_AITER=1 pytest -v -s v1/attention/test_mla_backends.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
5489
5490
- label: ":amd: (MI355 DPX) V1 Core (MI355 suite)"
5491
timeout_in_minutes: 60
@@ -5501,6 +5881,34 @@ steps:
5881
- pip install 'modelscope<1.38'
5882
- pytest -v -s test_regression.py
5883
5884
+- label: ':amd: (MI355) DeepSeek V4 MoE Integration'
5885
+ timeout_in_minutes: 20
5886
+ source_file_dependencies:
5887
+ - tests/models/test_deepseek_v4_vl_rocm.py
5888
+ - vllm/models/deepseek_v4/amd/
5889
+ - vllm/models/deepseek_v4/common/
5890
+ - vllm/model_executor/layers/fused_moe/
5891
+ - vllm/model_executor/layers/activation.py
5892
+ - vllm/model_executor/layers/linear.py
5893
+ - vllm/config/
5894
+ - vllm/forward_context.py
5895
+ - vllm/v1/worker/workspace.py
5896
+ - vllm/_aiter_ops.py
5897
+ - vllm/platforms/rocm.py
5898
+ - vllm/envs.py
5899
+ commands:
5900
+ - VLLM_ROCM_USE_AITER_MOE=0 pytest -v -s models/test_deepseek_v4_vl_rocm.py
5901
+ dind: false
5902
+ working_dir: /vllm-workspace/tests
5903
+ agent_pool: mi355_1
5904
+ num_gpus: 1
5905
+ mirror_hardwares:
5906
+ - amdexperimental
5907
+ - amdproduction
5908
+ - amdgfx950nightly
5909
+ - amdmi355
5910
+ optional: true
5911
+
5912
- label: ':amd: (MI355) Quantized MoE'
5913
timeout_in_minutes: 45
5914
working_dir: /vllm-workspace/
.buildkite/test_areas/attention.yaml
+19
@@ -43,3 +43,22 @@ steps:
43
commands:
44
- pytest -v -s v1/attention --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
45
parallelism: 2
46
+ mirror:
47
+ amd:
48
+ label: ":amd: (MI355 DPX) V1 Attention Shard %N"
49
+ dind: false
50
+ device: mi355_dpx
51
+ timeout_in_minutes: 125
52
+ depends_on:
53
+ - image-build-amd
54
+ source_file_dependencies:
55
+ - vllm/config/attention.py
56
+ - vllm/model_executor/layers/attention
57
+ - vllm/v1/attention
58
+ - tests/v1/attention
59
+ - vllm/_aiter_ops.py
60
+ - vllm/envs.py
61
+ - vllm/platforms/rocm.py
62
+ commands:
63
+ - pytest -v -s v1/attention --ignore=v1/attention/test_mla_backends.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
64
+ - VLLM_ROCM_USE_AITER=1 pytest -v -s v1/attention/test_mla_backends.py --shard-id=$$BUILDKITE_PARALLEL_JOB --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT
.buildkite/test_areas/disaggregated.yaml
+32
@@ -79,6 +79,22 @@ steps:
79
commands:
80
- bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
81
- bash v1/kv_connector/nixl_push_integration/config_sweep_accuracy_test.sh
82
+ mirror:
83
+ amd:
84
+ label: ":amd: (MI300) Push NixlConnector PP prefill PD accuracy"
85
+ dind: false
86
+ device: mi300_4
87
+ timeout_in_minutes: 55
88
+ depends_on:
89
+ - image-build-amd
90
+ source_file_dependencies:
91
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
92
+ - tests/v1/kv_connector/nixl_integration/
93
+ - tests/v1/kv_connector/nixl_push_integration/
94
+ - vllm/platforms/rocm.py
95
+ commands:
96
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
97
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_push_integration/config_sweep_accuracy_test.sh
98
99
- label: ":nvidia: (L4) DP EP Distributed NixlConnector PD accuracy"
100
key: dp-ep-distributed-nixlconnector-pd-accuracy-tests-4-gpus
@@ -180,6 +196,22 @@ steps:
196
commands:
197
- bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
198
- bash v1/kv_connector/nixl_integration/run_edge_case_test.sh
199
+ mirror:
200
+ amd:
201
+ label: ":amd: (MI300) NixlConnector PD edge case"
202
+ dind: false
203
+ device: mi300_2
204
+ timeout_in_minutes: 65
205
+ depends_on:
206
+ - image-build-amd
207
+ source_file_dependencies:
208
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
209
+ - vllm/v1/core/sched/
210
+ - tests/v1/kv_connector/nixl_integration/
211
+ - vllm/platforms/rocm.py
212
+ commands:
213
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
214
+ - PREFILL_GPU_ID=0 DECODE_GPU_ID=1 ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/run_edge_case_test.sh
215
216
- label: ":nvidia: (L4) Hybrid SSM NixlConnector PD prefix cache"
217
key: hybrid-ssm-nixlconnector-pd-prefix-cache-2-gpus
.buildkite/test_areas/kernels.yaml
+28
-1
@@ -47,7 +47,7 @@ steps:
47
label: ":amd: (MI300) Core Operation Kernels Shard %N"
48
dind: false
49
device: mi300_1
50
- timeout_in_minutes: 40
50
+ timeout_in_minutes: 45
51
working_dir: "/vllm-workspace/tests"
52
depends_on:
53
- image-build-amd
@@ -143,6 +143,33 @@ steps:
143
commands:
144
- pytest -v -s kernels/test_fused_deepseek_v4_*.py
145
- pytest -v -s models/test_deepseek_v4_mega_moe.py
146
+ mirror:
147
+ amd:
148
+ label: ":amd: (MI355) DeepSeek V4 MoE Integration"
149
+ dind: false
150
+ device: mi355_1
151
+ num_devices: 1
152
+ timeout_in_minutes: 20
153
+ working_dir: /vllm-workspace/tests
154
+ depends_on:
155
+ - image-build-amd
156
+ source_file_dependencies:
157
+ - tests/models/test_deepseek_v4_vl_rocm.py
158
+ - vllm/models/deepseek_v4/amd/
159
+ - vllm/models/deepseek_v4/common/
160
+ - vllm/model_executor/layers/fused_moe/
161
+ - vllm/model_executor/layers/activation.py
162
+ - vllm/model_executor/layers/linear.py
163
+ - vllm/config/
164
+ - vllm/forward_context.py
165
+ - vllm/v1/worker/workspace.py
166
+ - vllm/_aiter_ops.py
167
+ - vllm/platforms/rocm.py
168
+ - vllm/envs.py
169
+ commands:
170
+ # Common qnorm/RoPE/cache kernels already run in the H100 AMD mirror.
171
+ # Pin the tested BF16 Triton routing and shared-expert path before imports.
172
+ - VLLM_ROCM_USE_AITER_MOE=0 pytest -v -s models/test_deepseek_v4_vl_rocm.py
173
174
# Own job so mHC never shares a process with FlashInfer's import-time
175
# ptxas override.
.buildkite/test_areas/lm_eval.yaml
+67
-3
@@ -186,7 +186,7 @@ steps:
186
label: ":amd: (MI355) LM Eval Small Models Distributed"
187
dind: false
188
device: mi355_2
189
- timeout_in_minutes: 55
189
+ timeout_in_minutes: 145
190
depends_on:
191
- image-build-amd
192
source_file_dependencies:
@@ -196,11 +196,22 @@ steps:
196
- vllm/model_executor/model_loader/
197
- vllm/v1/attention/backends/
198
- vllm/v1/attention/selector.py
199
+ - vllm/v1/worker/
200
+ - vllm/v1/core/
201
+ - vllm/config/
202
- tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
203
- vllm/_aiter_ops.py
204
- vllm/platforms/rocm.py
205
+ - tests/evals/gsm8k/
206
+ - tests/utils.py
207
+ - vllm/distributed/
208
+ - vllm/transformers_utils/configs/diffusion_gemma.py
209
+ - vllm/v1/attention/ops/
210
commands:
211
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx-fp8-and-mixed.txt
212
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small-tp.txt
213
+ # Dense MLA PCP-only accuracy; DP1/DCP1.
214
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small-tp-mi355.txt
215
216
- label: ":nvidia: (B200) LM Eval HiSparse Nightly"
217
key: lm-eval-hisparse-nightly-4xb200
@@ -319,10 +330,10 @@ steps:
330
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-spec-decode.txt
331
mirror:
332
amd:
322
- label: ":amd: (MI355) LM Eval Spec Decode"
333
+ label: ":amd: (MI355) LM Eval Spec Decode (Fixed-length FP8)"
334
dind: false
335
device: mi355_4
325
- timeout_in_minutes: 120
336
+ timeout_in_minutes: 145
337
depends_on:
338
- image-build-amd
339
source_file_dependencies:
@@ -355,6 +366,9 @@ steps:
366
- vllm/v1/worker/
367
- vllm/_aiter_ops.py
368
- vllm/platforms/rocm.py
369
+ - tests/evals/gsm8k/
370
+ - tests/utils.py
371
+ - vllm/distributed/
372
commands:
373
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-spec-decode-rocm.txt
374
@@ -951,6 +965,22 @@ steps:
965
- tests/evals/gsm8k/test_gsm8k_offloading.py
966
commands:
967
- pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "nemotron-h-8b or gemma-4-e4b-it"
968
+ mirror:
969
+ amd:
970
+ label: ":amd: (MI300) LM Eval KV-Offload"
971
+ dind: false
972
+ device: mi300_1
973
+ timeout_in_minutes: 55
974
+ depends_on:
975
+ - image-build-amd
976
+ working_dir: /vllm-workspace/tests
977
+ source_file_dependencies:
978
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
979
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
980
+ - vllm/v1/kv_offload/
981
+ - vllm/v1/simple_kv_offload/
982
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
983
+ - vllm/platforms/rocm.py
984
985
- label: ":nvidia: (H100) LM Eval KV-Offload Medium"
986
key: kv-offload-medium
@@ -965,6 +995,22 @@ steps:
995
- tests/evals/gsm8k/test_gsm8k_offloading.py
996
commands:
997
- pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "qwen3.5-35b or deepseek-v2-lite"
998
+ mirror:
999
+ amd:
1000
+ label: ":amd: (MI300) LM Eval KV-Offload Medium"
1001
+ dind: false
1002
+ device: mi300_2
1003
+ timeout_in_minutes: 70
1004
+ depends_on:
1005
+ - image-build-amd
1006
+ working_dir: /vllm-workspace/tests
1007
+ source_file_dependencies:
1008
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
1009
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
1010
+ - vllm/v1/kv_offload/
1011
+ - vllm/v1/simple_kv_offload/
1012
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
1013
+ - vllm/platforms/rocm.py
1014
1015
- label: ":nvidia: (H100) LM Eval KV-Offload Large"
1016
key: kv-offload-large
@@ -979,6 +1025,24 @@ steps:
1025
- tests/evals/gsm8k/test_gsm8k_offloading.py
1026
commands:
1027
- pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "deepseek-v4-flash"
1028
+ mirror:
1029
+ amd:
1030
+ label: ":amd: (MI300) LM Eval KV-Offload Large"
1031
+ dind: false
1032
+ device: mi300_4
1033
+ timeout_in_minutes: 65
1034
+ depends_on:
1035
+ - image-build-amd
1036
+ working_dir: /vllm-workspace/tests
1037
+ source_file_dependencies:
1038
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
1039
+ - vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py
1040
+ - vllm/v1/kv_offload/
1041
+ - vllm/v1/simple_kv_offload/
1042
+ - tests/evals/gsm8k/test_gsm8k_offloading.py
1043
+ - vllm/platforms/rocm.py
1044
+ commands:
1045
+ - VLLM_ROCM_USE_AITER=1 pytest -s -v evals/gsm8k/test_gsm8k_offloading.py -k "deepseek-v4-flash"
1046
1047
- label: ":nvidia: (H200 MIG 35GB) MRCR Eval Small Models"
1048
key: mrcr-eval-small-models
.buildkite/test_areas/models_basic.yaml
+17
@@ -95,6 +95,23 @@ steps:
95
commands:
96
# FA4 kernel tests require SM100; the suite skips them elsewhere.
97
- pytest -v -s models/inkling
98
+ mirror:
99
+ amd:
100
+ label: ":amd: (MI355) Inkling"
101
+ dind: false
102
+ device: mi355_1
103
+ timeout_in_minutes: 65
104
+ working_dir: "/vllm-workspace/tests"
105
+ depends_on:
106
+ - image-build-amd
107
+ source_file_dependencies:
108
+ - vllm/models/inkling/
109
+ - vllm/cute_utils/
110
+ - cmake/external_projects/tml_fa4.cmake
111
+ - tests/models/inkling/
112
+ - vllm/platforms/rocm.py
113
+ commands:
114
+ - pytest -v -s models/inkling/rocm
115
116
- label: ":nvidia: (B200) Kimi K3"
117
key: kimi-k3-unit-tests-b200
.buildkite/test_areas/quantization.yaml
+16
@@ -58,6 +58,22 @@ steps:
58
- vllm/model_executor/layers/quantization/modelopt.py
59
commands:
60
- pytest -v -s fusion/
61
+ mirror:
62
+ amd:
63
+ label: ":amd: (MI300) Quantized Fusions"
64
+ dind: false
65
+ device: mi300_1
66
+ timeout_in_minutes: 45
67
+ working_dir: "/vllm-workspace/tests"
68
+ depends_on:
69
+ - image-build-amd
70
+ source_file_dependencies:
71
+ - tests/fusion
72
+ - vllm/model_executor/layers/fusion
73
+ - vllm/model_executor/kernels/linear
74
+ - vllm/model_executor/layers/quantization/compressed_tensors
75
+ - vllm/model_executor/layers/quantization/modelopt.py
76
+ - vllm/platforms/rocm.py
77
78
- label: ":nvidia: (B200) Quantized MoE"
79
key: quantized-moe-test-b200
.buildkite/test_areas/torch_abi.yaml
+19
@@ -12,3 +12,22 @@ steps:
12
- setup.py
13
commands:
14
- python3 /vllm-workspace/.buildkite/check-torch-abi.py
15
+ mirror:
16
+ amd:
17
+ label: ":amd: (MI250) Torch Stable ABI Audit"
18
+ dind: false
19
+ device: mi300_1
20
+ timeout_in_minutes: 35
21
+ depends_on:
22
+ - image-build-amd
23
+ no_gpu: true
24
+ working_dir: /vllm-workspace/
25
+ source_file_dependencies:
26
+ - .buildkite/check-torch-abi.py
27
+ - csrc/
28
+ - cmake/
29
+ - setup.py
30
+ - vllm/platforms/rocm.py
31
+ commands:
32
+ - uv pip install --system torch-abi-audit==0.0.1
33
+ - python3 /vllm-workspace/.buildkite/check-torch-abi.py
tests/evals/gsm8k/configs/DeepSeek-V2-Lite-Instruct-FP8-TP1-PCP2-ROCm.yaml
new
+24
@@ -0,0 +1,24 @@
1
+model_name: "RedHatAI/DeepSeek-Coder-V2-Lite-Instruct-FP8"
2
+accuracy_threshold: 0.72
3
+num_questions: 1319
4
+num_fewshot: 5
5
+rocm_request_timeout_seconds: 1800
6
+# Dense MLA PCP on MI355; DP1/DCP1, eager execution, and Triton MoE.
7
+server_args: >-
8
+ --revision efe1ced428db63e7ccbcf367334596f77e9af140
9
+ --code-revision e434a23f91ba5b4923cf6c9d9a238eb4a08e3a11
10
+ --dtype bfloat16
11
+ --enforce-eager
12
+ --max-model-len 4096
13
+ --max-num-seqs 8
14
+ --max-num-batched-tokens 4096
15
+ --tensor-parallel-size 1
16
+ --prefill-context-parallel-size 2
17
+ --enable-expert-parallel
18
+ --moe-backend triton
19
+ --attention-config '{"backend":"ROCM_AITER_MLA","mla_prefill_backend":"ROCM_AITER_FA"}'
20
+ --kv-cache-dtype auto
21
+env:
22
+ VLLM_USE_V2_MODEL_RUNNER: "1"
23
+ VLLM_ROCM_USE_AITER: "1"
24
+ VLLM_WORKER_MULTIPROC_METHOD: "spawn"
tests/evals/gsm8k/configs/models-qwen35-mi355.txt
+1
@@ -1,3 +1,4 @@
1
Qwen3.5-35B-A3B-DEP2.yaml
2
+Qwen3.5-35B-A3B-FP8-DEP2.yaml
3
Qwen3.5-35B-A3B-MXFP4-AITER-TP2.yaml
4
Qwen3.5-35B-A3B-MXFP4-EMU-TP2.yaml
tests/evals/gsm8k/configs/models-small-tp-mi355.txt
new
+2
@@ -0,0 +1,2 @@
1
+# Dense MLA PCP accuracy on MI355.
2
+DeepSeek-V2-Lite-Instruct-FP8-TP1-PCP2-ROCm.yaml