sgl-project/sglang · error · RuntimeError

PD disagg: heterogeneous TP not supported for MiniMax sparse

Error message

PD disagg: heterogeneous TP not supported for MiniMax sparse index yet.

What it means

Same guard as the PP check but for tensor parallelism: MiniMax sparse index sub-pools cannot be resliced across differing attn TP sizes between prefill and decode.

Source

Thrown at python/sglang/srt/disaggregation/mooncake/conn.py:1397

                        dst_data_indices=np.array(dst_indices_local, dtype=np.int32),
                        executor=executor,
                        state_type=st,
                    )
                    or rc
                )
            elif st == StateType.MINIMAX_INDEX_K:
                # Equal-TP / PP=1 only. Sub-pools are compacted sparse-layer
                # lists, so PP>1 mis-slices and heterogeneous TP is unsupported.
                if self.pp_size is not None and self.pp_size > 1:
                    raise RuntimeError(
                        "PD disagg: PP>1 not supported for MiniMax sparse index yet."
                    )
                if (
                    target_rank_registration_info is not None
                    and self.attn_tp_size
                    != target_rank_registration_info.dst_attn_tp_size
                ):
                    raise RuntimeError(
                        "PD disagg: heterogeneous TP not supported for MiniMax "
                        "sparse index yet."
                    )
                src_indices = list(indices)
                dst_indices_local = list(dst_indices)
                if len(src_indices) > len(dst_indices_local):
                    src_indices = src_indices[: len(dst_indices_local)]
                elif len(src_indices) < len(dst_indices_local):
                    dst_indices_local = dst_indices_local[: len(src_indices)]
                rc = (
                    self._send_kvcache_generic(
                        mooncake_session_id=req.mooncake_session_id,
                        src_data_ptrs=src_data_ptrs,
                        dst_data_ptrs=dst_data_ptrs,
                        item_lens=src_item_lens,
                        prefill_data_indices=np.array(src_indices, dtype=np.int32),
                        dst_data_indices=np.array(dst_indices_local, dtype=np.int32),
                        executor=executor,

View on GitHub (pinned to 0132848349)

Solutions

  1. Match attention TP sizes between prefill and decode
  2. Redeploy with uniform TP until heterogeneous TP support lands for MiniMax
Defensive patterns

Strategy: validation

Validate before calling

assert attn_tp_size == dst_registration.dst_attn_tp_size for minimax models

Prevention

When it happens

Trigger: MINIMAX_INDEX_K transfer with prefill attn TP != decode attn TP per target registration info.

Common situations: Heterogeneous TP PD setups on MiniMax sparse models.

Related errors


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/67c08906d4c3c2f4. Report an issue: GitHub.