Disable breakable CUDA graph for NemotronH (#33130)

This commit is contained in:
Brayden Zhong
2026-08-01 20:48:58 +00:00
committed by GitHub
parent 574ead753a
commit e0ba311026
2 changed files with 20 additions and 1 deletions
@@ -129,6 +129,14 @@ def is_deepseek_v4(config) -> bool:
)
def is_nemotron_h(config) -> bool:
return _hf_arch(config) in (
"NemotronHForCausalLM",
"NemotronHPuzzleForCausalLM",
"NemotronHForCausalLMMTP",
)
def get_dsa_index_head_dim(config: PretrainedConfig) -> int:
assert is_deepseek_dsa(config) or is_deepseek_v4(config)
return config.index_head_dim
+12 -1
View File
@@ -4426,7 +4426,11 @@ class ServerArgs:
memory-saver rejection in its own __init__; config-time rules can be
added here as they're discovered.
"""
from sglang.srt.configs.model_config import is_deepseek_dsa, is_deepseek_v4
from sglang.srt.configs.model_config import (
is_deepseek_dsa,
is_deepseek_v4,
is_nemotron_h,
)
rules = [
# MLA prefill under BCG takes forward_mha, which has no eager
@@ -4437,6 +4441,13 @@ class ServerArgs:
lambda: self.use_mla_backend()
and not is_deepseek_dsa(self.get_model_config().hf_config),
),
# NemotronH's hybrid Mamba2 prefill is not BCG-safe: the mamba
# state-track write is not wired into the captured buffers, so a
# replay can commit a cache slot it never wrote.
(
"NemotronH (hybrid Mamba2 prefill)",
lambda: is_nemotron_h(self.get_model_config().hf_config),
),
# DSV4 is BCG-compatible but introduces heavy memory pressure: the
# c4 indexer scratch is pinned in the capture pool and OOMs. Disable.
(