[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