[Bugfix][HiSparse] Reject cudagraph_mode=FULL at startup (#59688)

Signed-off-by: Matthew Bonanni <mbonanni@redhat.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Matthew Bonanni
2026-10-05 12:42:27 -04:00
committed by GitHub
co-authored by Claude Opus 5.5
parent 64cb683842
commit 54d93af9fb
2 changed files with 17 additions and 0 deletions
+11
View File
@@ -502,6 +502,17 @@ def test_hisparse_rejects_pipeline_parallelism(monkeypatch):
)
def test_hisparse_rejects_full_cudagraph_mode(monkeypatch):
monkeypatch.setattr(current_platform, "is_cuda", lambda: True)
monkeypatch.setattr(current_platform, "support_static_graph_mode", lambda: True)
monkeypatch.setattr("vllm.config.vllm.HAS_TRITON", True)
with pytest.raises(ValueError, match="does not support cudagraph_mode=FULL"):
VllmConfig(
attention_config=AttentionConfig(hisparse_config=HiSparseConfig()),
compilation_config=CompilationConfig(cudagraph_mode=CUDAGraphMode.FULL),
)
def test_hisparse_rejects_disabled_hybrid_kv_cache_manager(monkeypatch):
monkeypatch.setattr(current_platform, "is_cuda", lambda: True)
monkeypatch.setattr("vllm.config.vllm.HAS_TRITON", True)
+6
View File
@@ -1836,6 +1836,12 @@ class VllmConfig:
raise ValueError(
"HiSparse does not support decode context parallelism."
)
if self.compilation_config.cudagraph_mode == CUDAGraphMode.FULL:
raise ValueError(
"HiSparse does not support cudagraph_mode=FULL; use "
"FULL_AND_PIECEWISE (the default), which captures FULL graphs "
"for decode batches."
)
if not self.scheduler_config.scheduler_reserve_full_isl:
# Without it, async loads admitted against free host blocks can
# each wait on host pages the others hold, and waiting requests