Fix routed_dp_rank boundary validation (#19762)

Signed-off-by: doujiang24 <doujiang24@gmail.com>
Co-authored-by: hnyls2002 <lsyincs@gmail.com>
Co-authored-by: Liangsheng Yin <hnyls2002@gmail.com>
This commit is contained in:
doujiang24
2026-03-04 03:55:15 +08:00
committed by GitHub
parent 05f68e1230
commit 2e1b9e2547
2 changed files with 20 additions and 7 deletions

View File

@@ -219,14 +219,16 @@ class Engine(EngineBase):
if routed_dp_rank is None:
routed_dp_rank = data_parallel_rank
if self.server_args.enable_dp_attention:
if routed_dp_rank is None:
logger.debug("routed_dp_rank not provided, using default dispatch")
elif routed_dp_rank < 0:
raise ValueError("routed_dp_rank must be non-negative")
elif routed_dp_rank >= self.server_args.dp_size:
if routed_dp_rank is not None:
dp_size = self.server_args.dp_size
if dp_size <= 1 and routed_dp_rank == 0:
logger.warning(
f"routed_dp_rank={routed_dp_rank} is ignored because dp_size={dp_size}"
)
return None
if routed_dp_rank < 0 or routed_dp_rank >= dp_size:
raise ValueError(
f"routed_dp_rank must be less than dp_size: {self.server_args.dp_size}"
f"routed_dp_rank={routed_dp_rank} out of range [0, {dp_size})"
)
logger.debug(f"routed_dp_rank: {routed_dp_rank}")

View File

@@ -484,6 +484,17 @@ class TokenizerManager(TokenizerCommunicatorMixin, TokenizerManagerMultiItemMixi
obj.normalize_batch_and_arguments()
self._validate_rid(obj)
if isinstance(obj, GenerateReqInput) and obj.routed_dp_rank is not None:
dp_size = self.server_args.dp_size
if dp_size <= 1 and obj.routed_dp_rank == 0:
logger.warning(
f"routed_dp_rank={obj.routed_dp_rank} is ignored because dp_size={dp_size}"
)
elif obj.routed_dp_rank < 0 or obj.routed_dp_rank >= dp_size:
raise ValueError(
f"routed_dp_rank={obj.routed_dp_rank} out of range [0, {dp_size})"
)
self._req_stats_init(obj, request)
if self.server_args.language_only:
self._handle_epd_disaggregation_encode_request(obj)