[ROCm] Keep GLM-5.2 on MRV1 and disable default breakable cudagraph (#53155)
Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Rohan Potdar committed
Aug 31, 2026 at 23:17 UTC
ce2e343be1f757a92b3c990023f87bdd87a579ac
2 files changed
+10
-7
tests/test_config.py
+5
-2
@@ -159,7 +159,8 @@ def test_v2_model_runner_env_tri_state(monkeypatch, env_value, expected):
159
160
161
def test_rocm_keeps_compiled_deepseek_defaults(monkeypatch):
162
- """ROCm keeps DeepSeek V3.2 and V4 on their compiled MRV1 paths."""
162
+ """ROCm keeps the DSA models (DeepSeek V3.2/V4, GLM-5.2) on their compiled
163
+ MRV1 paths and off breakable cudagraphs by default."""
164
from vllm.config.vllm import (
165
ROCM_DEFAULT_MRV1_ARCHITECTURES,
166
default_breakable_cudagraph_architectures,
@@ -172,10 +173,12 @@ def test_rocm_keeps_compiled_deepseek_defaults(monkeypatch):
173
try:
174
assert "DeepseekV32ForCausalLM" in ROCM_DEFAULT_MRV1_ARCHITECTURES
175
assert "DeepseekV4ForCausalLM" in ROCM_DEFAULT_MRV1_ARCHITECTURES
176
+ assert "GlmMoeDsaForCausalLM" in ROCM_DEFAULT_MRV1_ARCHITECTURES
177
178
breakable_architectures = default_breakable_cudagraph_architectures()
179
assert "DeepseekV32ForCausalLM" not in breakable_architectures
180
assert "DeepseekV32MTPModel" not in breakable_architectures
181
+ assert "GlmMoeDsaForCausalLM" not in breakable_architectures
182
183
# The carve-out takes effect via the runner-selection property
184
# (warning_once args must be hashable for its lru_cache).
@@ -254,7 +257,7 @@ def test_dsa_models_default_to_mrv2_and_breakable_cudagraph(
257
("DeepseekV32MTPModel", False, True),
258
("DeepseekV32MTPModel", True, False),
259
("GlmMoeDsaForCausalLM", False, True),
257
- ("GlmMoeDsaForCausalLM", True, True),
260
+ ("GlmMoeDsaForCausalLM", True, False),
261
],
262
)
263
def test_dsa_breakable_cudagraph_platform_default(
vllm/config/vllm.py
+5
-5
@@ -69,7 +69,7 @@ logger = init_logger(__name__)
69
# TODO(rocm): These models are either unsupported by MRV2 or slower with
70
# MRV2 on AMD GPUs.
71
ROCM_DEFAULT_MRV1_ARCHITECTURES = frozenset(
72
- {"DeepseekV32ForCausalLM", "DeepseekV4ForCausalLM"}
72
+ {"DeepseekV32ForCausalLM", "DeepseekV4ForCausalLM", "GlmMoeDsaForCausalLM"}
73
)
74
75
DEFAULT_BREAKABLE_CUDAGRAPH_ARCHITECTURES = frozenset(
@@ -100,10 +100,10 @@ def default_breakable_cudagraph_architectures() -> frozenset[str]:
100
from vllm.platforms import current_platform
101
102
if current_platform.is_rocm():
103
- return DEFAULT_BREAKABLE_CUDAGRAPH_ARCHITECTURES - {
104
- "DeepseekV32ForCausalLM",
105
- "DeepseekV32MTPModel",
106
- }
103
+ # Breakable CUDA graphs currently regress performance on ROCm, so no
104
+ # architecture opts in by default here. Users can still force it with
105
+ # VLLM_USE_BREAKABLE_CUDAGRAPH=1.
106
+ return frozenset()
107
return DEFAULT_BREAKABLE_CUDAGRAPH_ARCHITECTURES
108
109