[Perf] Skip trivial DSV4 nonpaged indexer logits (#33857)
Co-authored-by: weireweire <20922698+weireweire@users.noreply.github.com>
This commit is contained in:
@@ -585,6 +585,13 @@ class C4IndexerBackendMixin:
|
||||
ke = c4_seq_lens[:query_rows].reshape(-1).to(torch.int32).contiguous()
|
||||
gather_seq_lens = ke[-1:]
|
||||
ks = torch.zeros_like(ke)
|
||||
# SGL Top-K synthesizes sequential indices for trivial rows without
|
||||
# reading logits, so DeepGEMM can receive an empty range for them.
|
||||
if (
|
||||
self.dsa_topk_backend.is_sgl_kernel()
|
||||
and not envs.SGLANG_TOPK_TRANSFORM_512_TORCH.get()
|
||||
):
|
||||
ke = torch.where(ke - ks > c4_indexer.index_topk, ke, ks)
|
||||
c4_page_size = indexer_metadata.c4_page_size
|
||||
max_seqlen_k = (final_c4_len + c4_page_size - 1) // c4_page_size * c4_page_size
|
||||
plan = NonPagedIndexerPlan(
|
||||
|
||||
Reference in New Issue
Block a user