[Qwen3.8] Enable NVIDIA NVFP4 on DGX Spark with file-backed PLE and PDL router fix (#39126)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: rdxa <rdxa@rdxa-int-spark-01.yvb.moe>
Co-authored-by: Yangmin Li <yangminl@nvidia.com>
Co-authored-by: Manrique <nanomlm@gmail.com>
Co-authored-by: yhyang201 <yhyang201@gmail.com>
This commit is contained in:
Jimmy Shong
2026-09-13 16:23:41 +08:00
committed by GitHub
co-authored by Claude Fable 5.1 rdxa Yangmin Li Manrique yhyang201
parent d6fabb74b4
commit cebca698e2
21 changed files with 1376 additions and 31 deletions
@@ -0,0 +1,38 @@
"""Fp8MoEMethod builds a triton runner when the global MoE runner backend is
flashinfer_cutlass or flashinfer_cutedsl, which have no fp8 MoE path."""
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="base-a-test-cpu")
import unittest
from unittest.mock import patch
import sglang.srt.layers.quantization.fp8 as fp8
from sglang.srt.layers.moe import MoeRunnerBackend, MoeRunnerConfig
from sglang.test.test_utils import CustomTestCase
class TestFp8MoeRunnerFallback(CustomTestCase):
def _runner_backend_for(self, global_backend):
method = fp8.Fp8MoEMethod.__new__(fp8.Fp8MoEMethod)
with patch.object(fp8, "get_moe_runner_backend", return_value=global_backend):
method.create_moe_runner(layer=None, moe_runner_config=MoeRunnerConfig())
return method.runner.runner_backend
def test_flashinfer_cutlass_falls_back_to_triton(self):
self.assertTrue(
self._runner_backend_for(MoeRunnerBackend.FLASHINFER_CUTLASS).is_triton()
)
def test_flashinfer_cutedsl_falls_back_to_triton(self):
self.assertTrue(
self._runner_backend_for(MoeRunnerBackend.FLASHINFER_CUTEDSL).is_triton()
)
def test_triton_is_kept(self):
self.assertTrue(self._runner_backend_for(MoeRunnerBackend.TRITON).is_triton())
if __name__ == "__main__":
unittest.main()