From a8c82c652eb936a056fbfe03e0b7b219fb183cb6 Mon Sep 17 00:00:00 2001 From: ybyang <10629930+whybeyoung@users.noreply.github.com> Date: Wed, 20 May 2026 10:58:53 +0800 Subject: [PATCH] fix(dsv4): make pool configurator PP-aware (#25750) --- python/sglang/srt/model_executor/pool_configurator.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/python/sglang/srt/model_executor/pool_configurator.py b/python/sglang/srt/model_executor/pool_configurator.py index 8703a21ae..1b2cd0f2a 100644 --- a/python/sglang/srt/model_executor/pool_configurator.py +++ b/python/sglang/srt/model_executor/pool_configurator.py @@ -319,7 +319,14 @@ class DSV4PoolConfigurator(MemoryPoolConfigurator): self.qk_nope_head_dim = cfg.qk_nope_head_dim self.qk_rope_head_dim = cfg.qk_rope_head_dim self.indexer_head_dim = cfg.index_head_dim - self.compression_ratios = cfg.compress_ratios + # PP-local slice; matches DeepSeekV4TokenToKVPool's stage_ratios. + self.compression_ratios = cfg.compress_ratios[mr.start_layer : mr.end_layer] + if mr.pp_size > 1: + logger.info( + f"DSV4 pool PP slice: rank={mr.pp_group.rank_in_group} " + f"layers=[{mr.start_layer},{mr.end_layer}) " + f"local={len(self.compression_ratios)}/{len(cfg.compress_ratios)}" + ) self.swa_page_size = cfg.window_size self.swa_ratio = mr.server_args.swa_full_tokens_ratio self.is_speculative = mr.server_args.speculative_algorithm is not None