From 1e53180c26f744a658161c6538cf311dec192c85 Mon Sep 17 00:00:00 2001 From: Baizhou Zhang Date: Fri, 24 Apr 2026 20:15:25 -0700 Subject: [PATCH] nsa_indexer: fall back to fast_hadamard_transform when sgl_kernel lacks the symbol Older sgl_kernel builds (e.g. 0.3.21) don't export hadamard_transform. On non-HIP / non-SM103 hardware the import then raises ImportError at forward time and crashes the scheduler. fast_hadamard_transform is already a dependency on those paths, so use it as a fallback when sgl_kernel is missing the symbol. Co-Authored-By: Claude Opus 4.7 (1M context) --- python/sglang/srt/layers/attention/nsa/nsa_indexer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/sglang/srt/layers/attention/nsa/nsa_indexer.py b/python/sglang/srt/layers/attention/nsa/nsa_indexer.py index 087e228796b0..51ba1bcab7fc 100644 --- a/python/sglang/srt/layers/attention/nsa/nsa_indexer.py +++ b/python/sglang/srt/layers/attention/nsa/nsa_indexer.py @@ -123,11 +123,13 @@ def topk_transform( def rotate_activation(x: torch.Tensor) -> torch.Tensor: - # from sgl_kernel import hadamard_transform if _is_hip or _is_sm103: from fast_hadamard_transform import hadamard_transform else: - from sgl_kernel import hadamard_transform + try: + from sgl_kernel import hadamard_transform + except ImportError: + from fast_hadamard_transform import hadamard_transform hidden_size = x.size(-1) assert (