[Fix] Allow flashinfer_sparse_mla DSA backend for HiSparse on SM120 FP8 KV (#33075)
This commit is contained in:
@@ -661,6 +661,23 @@ class TestHiSparseDsaBackendPolicy(unittest.TestCase):
|
||||
self.assertEqual(resolved["dsa_prefill_backend"], "flashmla_kv")
|
||||
self.assertEqual(resolved["dsa_decode_backend"], "flashmla_kv")
|
||||
|
||||
@patch("sglang.srt.server_args.is_hip", return_value=False)
|
||||
def test_hisparse_accepts_flashinfer_sparse_mla_on_cuda_fp8(self, _mock_is_hip):
|
||||
"""SM120 GLM DSA resolves both DSA backends to flashinfer_sparse_mla, so
|
||||
the fp8 hisparse allow-set must admit it or --enable-hisparse cannot
|
||||
start there at all. The device/arch narrowing happens later, in
|
||||
_validate_flashinfer_sparse_mla_backend."""
|
||||
server_args = ServerArgs(
|
||||
model_path="dummy",
|
||||
enable_hisparse=True,
|
||||
kv_cache_dtype="fp8_e4m3",
|
||||
dsa_prefill_backend="flashinfer_sparse_mla",
|
||||
dsa_decode_backend="flashinfer_sparse_mla",
|
||||
)
|
||||
|
||||
server_args._validate_hisparse_dsa_backend("dsa_prefill_backend", "prefill")
|
||||
server_args._validate_hisparse_dsa_backend("dsa_decode_backend", "decode")
|
||||
|
||||
@patch("sglang.srt.server_args.is_hip", return_value=True)
|
||||
def test_hisparse_defaults_to_tilelang_on_rocm(self, _mock_is_hip):
|
||||
resolved = self._resolve("bfloat16")
|
||||
|
||||
Reference in New Issue
Block a user