[NPU] Optimize DeepSeek-V4 performance (#31931)

This commit is contained in:
Talantan1102
2026-07-28 19:45:46 +08:00
committed by GitHub
parent 51397af885
commit 5558dbad00
21 changed files with 1311 additions and 523 deletions
+29 -1
View File
@@ -41,7 +41,12 @@ from torch.distributed import barrier
from sglang.kernels.ops.mamba.triton_ops import (
initialize_mamba_selective_state_update_backend,
)
from sglang.srt.configs.model_config import ModelConfig, ModelImpl, is_minimax_sparse
from sglang.srt.configs.model_config import (
ModelConfig,
ModelImpl,
is_deepseek_v4,
is_minimax_sparse,
)
from sglang.srt.constrained.grammar_manager import GrammarManager
from sglang.srt.debug_utils.pr_fix_toggle import maybe_revert_pr_fix
from sglang.srt.disaggregation.decode import (
@@ -291,6 +296,13 @@ else:
logger = logging.getLogger(__name__)
def _prewarm_hccl_group(device, group, device_module):
warmup_tensor = torch.zeros(1, dtype=torch.int32, device=device)
torch.distributed.all_reduce(warmup_tensor, group=group)
device_module.synchronize()
# Test retract decode for debugging purposes
TEST_RETRACT = envs.SGLANG_TEST_RETRACT.get()
TEST_RETRACT_INTERVAL = envs.SGLANG_TEST_RETRACT_INTERVAL.get()
@@ -488,6 +500,22 @@ class Scheduler(
self.disable_radix_cache = result.disable_radix_cache
self.tree_cache = result.tree_cache
if _is_npu and is_deepseek_v4(
self.tp_worker.model_runner.model_config.hf_config
):
rank = (
self.ps.dp_rank
if self.ps.dp_rank is not None
else self.tp_group.rank_in_group
)
logger.info("HCCL DP prewarm start: rank=%s", rank)
_prewarm_hccl_group(
device=self.tp_group.device,
group=self.tp_group.device_group,
device_module=self.tp_group.device_module,
)
logger.info("HCCL DP prewarm done: rank=%s", rank)
if (c := self.tp_worker.model_runner.canary_manager) is not None:
c.attach_radix_cache(self.tree_cache)