[ROCm][CI] Add MTP and other spec-decode acceptance coverage (#53399)
Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com> Co-authored-by: OpenAI Codex <codex@openai.com>
Andreas Karatzas committed
Sep 2, 2026 at 03:27 UTC
e52407ef4ce8400bbbb6d0a34d26e0456ce72cb3
2 files changed
+30
-1
.buildkite/test-amd.yaml
+28
@@ -3929,6 +3929,34 @@ steps:
3929
commands:
3930
- pytest -v -s -m 'not slow_test' v1/spec_decode
3931
3932
+- label: ":amd: (MI355) Spec Decode AL MTP + Other Acceptance" # TBD
3933
+ timeout_in_minutes: 180
3934
+ mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3935
+ dind: false
3936
+ agent_pool: mi355_1
3937
+ optional: true
3938
+ working_dir: "/vllm-workspace/tests"
3939
+ source_file_dependencies:
3940
+ - vllm/v1/spec_decode/
3941
+ - vllm/v1/sample/
3942
+ - vllm/v1/worker/gpu/
3943
+ - vllm/v1/worker/gpu_model_runner.py
3944
+ - vllm/v1/worker/gpu_worker.py
3945
+ - vllm/model_executor/model_loader/
3946
+ - vllm/model_executor/models/gemma4.py
3947
+ - vllm/model_executor/models/gemma4_mm.py
3948
+ - vllm/model_executor/models/gemma4_mtp.py
3949
+ - vllm/model_executor/models/llama.py
3950
+ - vllm/model_executor/models/llama_eagle3.py
3951
+ - vllm/model_executor/models/medusa.py
3952
+ - vllm/model_executor/models/registry.py
3953
+ - tests/evals/gsm8k/
3954
+ - tests/utils.py
3955
+ - tests/v1/e2e/spec_decode/
3956
+ - vllm/platforms/rocm.py
3957
+ commands:
3958
+ - pytest -v -s v1/e2e/spec_decode/acceptance_rates/mtp_other/
3959
+
3960
#------------------------------------------------------ mi355 · weight_loading -------------------------------------------------------#
3961
3962
- label: ":amd: (MI355) Weight Loading Multi-GPU" # TBD
vllm/v1/spec_decode/gemma4.py
+2
-1
@@ -118,6 +118,7 @@ class Gemma4Proposer(SpecDecodeBaseProposer):
118
"""Capture CUDA graphs for centroids get_top_tokens at key sizes."""
119
masked_emb = self.model.masked_embedding
120
lm_head_weight = self.model._get_full_lm_head_weight()
121
+ capture_stream = current_stream()
122
123
for size in [1, 2, 4, 8, 16, 32, 64]:
124
static_input = torch.zeros(
@@ -131,7 +132,7 @@ class Gemma4Proposer(SpecDecodeBaseProposer):
132
torch.accelerator.synchronize()
133
134
g = torch.cuda.CUDAGraph()
134
- with torch.cuda.graph(g, stream=current_stream()):
135
+ with torch.cuda.graph(g, stream=capture_stream):
136
static_output = masked_emb.get_top_tokens(
137
static_input,
138
lm_head_weight,