[ROCm][CI] Stage F gating (#55252)
Signed-off-by: Andreas Karatzas <akaratza@amd.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com> Co-authored-by: OpenAI Codex <codex@openai.com>
Andreas Karatzas committed
Sep 12, 2026 at 02:40 UTC
d406f09eb8d05eaf81d768bf74212bc6d24cd11d
9 files changed
+236
.buildkite/test_areas/disaggregated.yaml
+35
@@ -172,6 +172,23 @@ steps:
172
commands:
173
- bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
174
- bash v1/kv_connector/nixl_integration/run_mamba_prefix_cache_test.sh
175
+ mirror:
176
+ amd:
177
+ label: ":amd: (MI355) Hybrid SSM NixlConnector PD prefix cache"
178
+ dind: false
179
+ device: mi355_2
180
+ timeout_in_minutes: 25
181
+ depends_on:
182
+ - image-build-amd
183
+ source_file_dependencies:
184
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
185
+ - vllm/v1/core/sched/
186
+ - vllm/v1/core/kv_cache_coordinator.py
187
+ - tests/v1/kv_connector/nixl_integration/
188
+ - vllm/platforms/rocm.py
189
+ commands:
190
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
191
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/run_mamba_prefix_cache_test.sh
192
193
- label: ":nvidia: (L4) MultiConnector (Nixl+Offloading) PD accuracy"
194
key: multiconnector-nixl-offloading-pd-accuracy-2-gpus
@@ -234,6 +251,24 @@ steps:
251
commands:
252
- bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
253
- bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
254
+ mirror:
255
+ amd:
256
+ label: ":amd: (MI355) MultiConnector (Nixl+Offloading) PD edge cases"
257
+ dind: false
258
+ device: mi355_2
259
+ timeout_in_minutes: 25
260
+ depends_on:
261
+ - image-build-amd
262
+ source_file_dependencies:
263
+ - vllm/distributed/kv_transfer/kv_connector/v1/nixl/
264
+ - vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
265
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
266
+ - vllm/distributed/kv_transfer/kv_connector/v1/offloading/
267
+ - tests/v1/kv_connector/nixl_integration/
268
+ - vllm/platforms/rocm.py
269
+ commands:
270
+ - uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txt
271
+ - ATTENTION_BACKEND=TRITON_ATTN bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
272
273
# P TP 4 - D DPEP 4 test case for DSv4-Flash
274
- label: ":nvidia: (H200) DSv4-Flash Disaggregated DP EP"
.buildkite/test_areas/distributed.yaml
+39
@@ -105,6 +105,26 @@ steps:
105
- export NCCL_CUMEM_HOST_ENABLE=0
106
- pytest -v -s entrypoints/llm/test_collective_rpc.py
107
- pytest -v -s ./compile/test_wrapper.py
108
+ mirror:
109
+ amd:
110
+ label: ":amd: (MI355) Distributed Compile + RPC"
111
+ dind: false
112
+ device: mi355_2
113
+ timeout_in_minutes: 65
114
+ depends_on:
115
+ - image-build-amd
116
+ source_file_dependencies:
117
+ - vllm/compilation/
118
+ - vllm/distributed/
119
+ - "!vllm/distributed/kv_transfer/"
120
+ - vllm/engine/
121
+ - vllm/executor/
122
+ - vllm/worker/worker_base.py
123
+ - vllm/v1/engine/
124
+ - vllm/v1/worker/
125
+ - tests/compile/test_wrapper.py
126
+ - tests/entrypoints/llm/test_collective_rpc.py
127
+ - vllm/platforms/rocm.py
128
129
- label: ":nvidia: (L4) Distributed Torchrun + Shutdown"
130
key: distributed-torchrun-shutdown-tests-2-gpus
@@ -335,6 +355,25 @@ steps:
355
- pytest -v -s distributed/test_pp_cudagraph.py
356
- pytest -v -s distributed/test_pipeline_parallel.py
357
- pytest -v -s v1/distributed/test_pp_dp_v2.py
358
+ mirror:
359
+ amd:
360
+ label: ":amd: (MI250) Pipeline + Context Parallelism"
361
+ device: mi250_4
362
+ timeout_in_minutes: 90
363
+ depends_on:
364
+ - image-build-amd
365
+ source_file_dependencies:
366
+ - vllm/distributed/
367
+ - "!vllm/distributed/kv_transfer/"
368
+ - vllm/engine/
369
+ - vllm/executor/
370
+ - vllm/model_executor/models/
371
+ - vllm/model_executor/layers/
372
+ - vllm/v1/attention/backends/
373
+ - vllm/v1/attention/selector.py
374
+ - tests/distributed/
375
+ - vllm/_aiter_ops.py
376
+ - vllm/platforms/rocm.py
377
378
- label: ":nvidia: (L4) RayExecutorV2"
379
key: rayexecutorv2-4-gpus
.buildkite/test_areas/lm_eval.yaml
+42
@@ -79,6 +79,26 @@ steps:
79
autorun_on_main: true
80
commands:
81
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-small-tp.txt
82
+ mirror:
83
+ amd:
84
+ label: ":amd: (MI355) LM Eval Small Models Distributed"
85
+ dind: false
86
+ device: mi355_2
87
+ timeout_in_minutes: 45
88
+ depends_on:
89
+ - image-build-amd
90
+ source_file_dependencies:
91
+ - csrc/
92
+ - vllm/model_executor/layers/quantization
93
+ - vllm/model_executor/models/
94
+ - vllm/model_executor/model_loader/
95
+ - vllm/v1/attention/backends/
96
+ - vllm/v1/attention/selector.py
97
+ - tests/evals/gsm8k/configs/models-mi3xx-fp8-and-mixed.txt
98
+ - vllm/_aiter_ops.py
99
+ - vllm/platforms/rocm.py
100
+ commands:
101
+ - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=configs/models-mi3xx-fp8-and-mixed.txt
102
103
- label: ":nvidia: (B200) LM Eval PCP"
104
key: lm-eval-pcp-4xb200
@@ -375,6 +395,28 @@ steps:
395
commands:
396
- uv pip install --system 'gpt-oss[eval]==0.0.5'
397
- pytest -s -v evals/gpt_oss/test_gpqa_correctness.py --config-list-file=configs/models-b200.txt
398
+ mirror:
399
+ amd:
400
+ label: ":amd: (MI355) GPQA Eval (GPT-OSS)"
401
+ dind: false
402
+ device: mi355_2
403
+ timeout_in_minutes: 40
404
+ depends_on:
405
+ - image-build-amd
406
+ source_file_dependencies:
407
+ - csrc/
408
+ - vllm/model_executor/layers/quantization
409
+ - vllm/model_executor/models/
410
+ - vllm/model_executor/model_loader/
411
+ - vllm/v1/attention/backends/
412
+ - vllm/v1/attention/selector.py
413
+ - vllm/model_executor/layers/fused_moe/
414
+ - tests/evals/gpt_oss/
415
+ - vllm/_aiter_ops.py
416
+ - vllm/platforms/rocm.py
417
+ commands:
418
+ - uv pip install --system 'gpt-oss[eval]==0.0.5'
419
+ - pytest -s -v evals/gpt_oss/test_gpqa_correctness.py --config-list-file=configs/models-gfx950.txt
420
421
- label: ":nvidia: (B200) Qwen3.8-Flash-Next-FP8 Accuracy Eval"
422
key: accuracy-eval-qwen3-8-flash-next-fp8-b200
.buildkite/test_areas/misc.yaml
+47
@@ -251,6 +251,35 @@ steps:
251
commands:
252
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
253
- pytest -v -s -m 'distributed' tests/v1/kv_connector/extract_hidden_states_integration
254
+ mirror:
255
+ amd:
256
+ label: ":amd: (MI355) Extract Hidden States Integration"
257
+ dind: false
258
+ device: mi355_2
259
+ timeout_in_minutes: 20
260
+ depends_on:
261
+ - image-build-amd
262
+ source_file_dependencies:
263
+ - vllm/config/speculative.py
264
+ - vllm/distributed/kv_transfer/kv_connector/
265
+ - vllm/model_executor/layers/attention/
266
+ - vllm/model_executor/layers/mamba/
267
+ - vllm/model_executor/model_loader/
268
+ - vllm/model_executor/models/extract_hidden_states.py
269
+ - vllm/model_executor/models/llama.py
270
+ - vllm/model_executor/models/qwen3_5.py
271
+ - vllm/model_executor/models/qwen3_next.py
272
+ - vllm/model_executor/models/registry.py
273
+ - vllm/transformers_utils/configs/extract_hidden_states.py
274
+ - vllm/transformers_utils/configs/qwen3_5.py
275
+ - vllm/v1/attention/backends/
276
+ - vllm/v1/attention/selector.py
277
+ - vllm/v1/kv_cache_interface.py
278
+ - vllm/v1/spec_decode/extract_hidden_states.py
279
+ - vllm/v1/worker/gpu_model_runner.py
280
+ - vllm/_aiter_ops.py
281
+ - tests/v1/kv_connector/extract_hidden_states_integration/
282
+ - vllm/platforms/rocm.py
283
284
- label: ":nvidia: (H200 MIG 18GB) Regression"
285
key: regression
@@ -537,6 +566,24 @@ steps:
566
- pytest -v -s v1/determinism/test_rms_norm_batch_invariant.py
567
- VLLM_TEST_MODEL=deepseek-ai/DeepSeek-V2-Lite-Chat pytest -v -s v1/determinism/test_batch_invariance.py::test_v1_generation_is_deterministic_across_batch_sizes_with_needle -k TRITON_MLA
568
- VLLM_TEST_MODEL=Qwen/Qwen3-30B-A3B-Thinking-2507-FP8 pytest -v -s v1/determinism/test_batch_invariance.py::test_v1_generation_is_deterministic_across_batch_sizes_with_needle -k FLASH_ATTN
569
+ mirror:
570
+ amd:
571
+ label: ":amd: (MI250) Batch Invariance"
572
+ device: mi250_1
573
+ timeout_in_minutes: 30
574
+ depends_on:
575
+ - image-build-amd
576
+ source_file_dependencies:
577
+ - vllm/v1/attention
578
+ - vllm/model_executor/layers
579
+ - tests/v1/determinism/
580
+ - vllm/_aiter_ops.py
581
+ - vllm/platforms/rocm.py
582
+ commands:
583
+ - export VLLM_WORKER_MULTIPROC_METHOD=spawn
584
+ - pip install pytest-timeout pytest-forked
585
+ - pytest -v -s v1/determinism/test_batch_invariance.py
586
+ - pytest -v -s v1/determinism/test_rms_norm_batch_invariant.py
587
588
- label: ":nvidia: (B200) Batch Invariance"
589
key: batch-invariance-b200
.buildkite/test_areas/models_basic.yaml
+9
@@ -156,3 +156,12 @@ steps:
156
device: cpu-small
157
commands:
158
- 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/
159
+ mirror:
160
+ amd:
161
+ label: ":amd: (MI250) Basic Models Other"
162
+ device: mi250_1
163
+ no_gpu: true
164
+ working_dir: "/vllm-workspace/tests"
165
+ timeout_in_minutes: 25
166
+ depends_on:
167
+ - image-build-amd
.buildkite/test_areas/models_multimodal.yaml
+9
@@ -98,6 +98,15 @@ steps:
98
commands:
99
- pytest -v -s models/multimodal/processing --ignore models/multimodal/processing/test_tensor_schema.py --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
100
parallelism: 4
101
+ mirror:
102
+ amd:
103
+ label: ":amd: (MI250) Multimodal Processor Shard %N"
104
+ device: mi250_1
105
+ no_gpu: true
106
+ working_dir: "/vllm-workspace/tests"
107
+ timeout_in_minutes: 80
108
+ depends_on:
109
+ - image-build-amd
110
111
- label: ":nvidia: (H200 MIG 18GB) Multimodal Processor"
112
key: multi-modal-processor
.buildkite/test_areas/pytorch.yaml
+8
@@ -160,6 +160,14 @@ steps:
160
# Use `find` to launch multiple instances of pytest so that
161
# they do not suffer from https://github.com/vllm-project/vllm/issues/28965
162
- "find compile/fullgraph/ -name 'test_*.py' -not -name 'test_full_cudagraph.py' -print0 | xargs -0 -n1 -I{} pytest -s -v '{}'"
163
+ mirror:
164
+ amd:
165
+ label: ":amd: (MI355) PyTorch Fullgraph"
166
+ dind: false
167
+ device: mi355_1
168
+ timeout_in_minutes: 90
169
+ depends_on:
170
+ - image-build-amd
171
172
# Hopper-only DeepSeek-V2-Lite cases in this file require two 29.3-GiB model
173
# instances and cannot fit a 35GB MIG slice. L4 retains the original coverage:
.buildkite/test_areas/rust_frontend.yaml
+29
@@ -131,6 +131,20 @@ steps:
131
- export VLLM_USE_RUST_FRONTEND=1
132
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
133
- pytest -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
134
+ mirror:
135
+ amd:
136
+ label: ":amd: (MI355) Rust Frontend Core Correctness"
137
+ dind: false
138
+ device: mi355_1
139
+ timeout_in_minutes: 20
140
+ depends_on:
141
+ - image-build-amd
142
+ source_file_dependencies:
143
+ - rust/
144
+ - vllm/entrypoints/openai/
145
+ - tests/utils.py
146
+ - tests/entrypoints/openai/correctness/test_lmeval.py
147
+ - vllm/platforms/rocm.py
148
149
- label: ":nvidia: (H200 MIG 35GB) Rust Frontend Tool Use"
150
key: rust-frontend-tool-use
@@ -147,6 +161,21 @@ steps:
161
- export VLLM_USE_RUST_FRONTEND=1
162
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
163
- pytest -v -s tool_use --ignore=tool_use/mistral --models llama3.2 -k "not test_response_format_with_tool_choice_required and not test_parallel_tool_calls_false and not test_tool_call_and_choice"
164
+ mirror:
165
+ amd:
166
+ label: ":amd: (MI355) Rust Frontend Tool Use"
167
+ dind: false
168
+ device: mi355_1
169
+ timeout_in_minutes: 25
170
+ depends_on:
171
+ - image-build-amd
172
+ source_file_dependencies:
173
+ - rust/
174
+ - vllm/entrypoints/openai/
175
+ - vllm/tool_parsers/
176
+ - tests/utils.py
177
+ - tests/tool_use/
178
+ - vllm/platforms/rocm.py
179
180
- label: ":nvidia: (L4) Rust Frontend Distributed"
181
key: rust-frontend-distributed
.buildkite/test_areas/rust_frontend_cargo.yaml
+18
@@ -14,6 +14,15 @@ steps:
14
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh
15
commands:
16
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh style-clippy
17
+ mirror:
18
+ amd:
19
+ label: ":amd: (MI250) Rust Frontend Cargo Style + Clippy"
20
+ device: mi250_1
21
+ no_gpu: true
22
+ working_dir: "/vllm-workspace"
23
+ timeout_in_minutes: 35
24
+ depends_on:
25
+ - image-build-amd
26
27
- label: ":computer: (CPU) Rust Frontend Cargo"
28
key: rust-frontend-cargo-tests
@@ -28,3 +37,12 @@ steps:
37
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh
38
commands:
39
- .buildkite/scripts/run-rust-frontend-cargo-ci.sh test
40
+ mirror:
41
+ amd:
42
+ label: ":amd: (MI250) Rust Frontend Cargo"
43
+ device: mi250_1
44
+ no_gpu: true
45
+ working_dir: "/vllm-workspace"
46
+ timeout_in_minutes: 35
47
+ depends_on:
48
+ - image-build-amd