fix(nsa): guard cp split to extend batches

This commit is contained in:
wxiwnd
2026-06-26 22:50:35 +08:00
committed by wxiwnd
parent c739ea667d
commit 01d6ceff8f
2 changed files with 34 additions and 1 deletions

View File

@@ -77,6 +77,31 @@ class TestPageAlignedCacheExtent(unittest.TestCase):
class TestNSAInSeqCPUtils(unittest.TestCase):
def test_can_cp_split_ignores_decode_batch_without_extend_lens(self):
forward_batch = SimpleNamespace(
forward_mode=ForwardMode.DECODE,
extend_seq_lens_cpu=None,
uses_cp_shared_kv=True,
)
self.assertFalse(
can_cp_split(
seq_len=200, cp_size=8, use_nsa=True, forward_batch=forward_batch
)
)
def test_can_cp_split_fails_extend_batch_without_extend_lens(self):
forward_batch = SimpleNamespace(
forward_mode=ForwardMode.EXTEND,
extend_seq_lens_cpu=None,
uses_cp_shared_kv=True,
)
with self.assertRaisesRegex(RuntimeError, "missing_extend_seq_lens_cpu"):
can_cp_split(
seq_len=200, cp_size=8, use_nsa=True, forward_batch=forward_batch
)
def test_contiguous_valid_cp_query_count(self):
from sglang.srt.layers.attention.nsa.nsa_indexer import (
_compute_contiguous_valid_cp_query_count,