ci: run GB300 nightly suite in the standard Nvidia nightly workflow (#28536)

Co-authored-by: Baizhou Zhang <sobereddiezhang@gmail.com>
Co-authored-by: Mohammad Miadh Angkad <176301910+mmangkad@users.noreply.github.com>
This commit is contained in:
Alison Shao
2026-06-19 12:24:38 -07:00
committed by GitHub
co-authored by Baizhou Zhang Mohammad Miadh Angkad
parent 7c505c2927
commit ab0714d0ee
11 changed files with 72 additions and 197 deletions
@@ -1,78 +0,0 @@
import unittest
from sglang.test.accuracy_test_runner import AccuracyTestParams
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True)
MODEL_PATH = "deepseek-ai/DeepSeek-V3.2"
COMMON_ARGS = [
"--trust-remote-code",
"--reasoning-parser=deepseek-v3",
"--tool-call-parser=deepseekv32",
"--mem-fraction-static=0.8",
"--enable-metrics",
]
MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=3",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=4",
]
class TestDeepseekV32(unittest.TestCase):
"""DeepSeek V3.2 on GB300 (4x B200 NVL4, tp=4)."""
def test_deepseek_v32(self):
variants = [
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS,
variant="TP4",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ [
"--dp-size=4",
"--ep-size=4",
"--enable-dp-attention",
],
variant="TP4+DP4+DPA",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ [
"--dp-size=4",
"--ep-size=4",
"--enable-dp-attention",
]
+ MTP_ARGS,
variant="TP4+DP4+DPA+MTP",
),
]
run_combined_tests(
models=variants,
test_name="DeepSeek-V3.2",
accuracy_params=AccuracyTestParams(
dataset="gsm8k", baseline_accuracy=0.935
),
performance_params=PerformanceTestParams(
profile_dir="performance_profiles_gb300",
),
)
if __name__ == "__main__":
unittest.main()
@@ -1,81 +0,0 @@
import unittest
from sglang.test.accuracy_test_runner import AccuracyTestParams
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True)
MODEL_PATH = "nvidia/DeepSeek-V3.2-NVFP4"
COMMON_ARGS = [
"--trust-remote-code",
"--reasoning-parser=deepseek-v3",
"--tool-call-parser=deepseekv32",
"--quantization=modelopt_fp4",
"--moe-runner-backend=flashinfer_trtllm",
"--kv-cache-dtype=bfloat16",
"--mem-fraction-static=0.8",
"--enable-metrics",
]
MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=3",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=4",
]
class TestDeepseekV32Nvfp4(unittest.TestCase):
"""DeepSeek V3.2 NVFP4 on GB300 (4x B200 NVL4, tp=4)."""
def test_deepseek_v32_nvfp4(self):
variants = [
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS,
variant="TP4",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ [
"--dp-size=4",
"--ep-size=4",
"--enable-dp-attention",
],
variant="TP4+DP4+DPA",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ [
"--dp-size=4",
"--ep-size=4",
"--enable-dp-attention",
]
+ MTP_ARGS,
variant="TP4+DP4+DPA+MTP",
),
]
run_combined_tests(
models=variants,
test_name="DeepSeek-V3.2-NVFP4",
accuracy_params=AccuracyTestParams(
dataset="gsm8k", baseline_accuracy=0.935
),
performance_params=PerformanceTestParams(
profile_dir="performance_profiles_gb300",
),
)
if __name__ == "__main__":
unittest.main()
+4 -2
View File
@@ -6,7 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True)
register_cuda_ci(
est_time=7200, suite="nightly-4-gpu-gb300", nightly=True, disabled="not needed"
)
MODEL_PATH = "zai-org/GLM-5.1-FP8"
@@ -27,7 +29,7 @@ MTP_ARGS = [
class TestGlm5Fp8(unittest.TestCase):
"""GLM-5.1 FP8 on GB300 (4x B200 NVL4, tp=4)."""
"""GLM-5.1 FP8 on GB300 (4x GB300 NVL4, tp=4)."""
def test_glm5_fp8(self):
variants = [
+12 -12
View File
@@ -16,42 +16,42 @@ COMMON_ARGS = [
"--tool-call-parser=glm47",
"--quantization=modelopt_fp4",
"--moe-runner-backend=flashinfer_trtllm",
"--kv-cache-dtype=bfloat16",
"--mem-fraction-static=0.9",
"--enable-metrics",
]
MTP_ARGS = [
TP_MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=3",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=4",
]
DP_MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=1",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=2",
]
class TestGlm5Nvfp4(unittest.TestCase):
"""GLM-5 NVFP4 on GB300 (4x B200 NVL4, tp=4)."""
"""GLM-5 NVFP4 on GB300 (4x GB300 NVL4, tp=4)."""
def test_glm5_nvfp4(self):
variants = [
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS,
variant="TP4",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS + ["--dp-size=4", "--enable-dp-attention"],
variant="TP4+DP4+DPA",
extra_args=COMMON_ARGS + TP_MTP_ARGS,
variant="TP4+MTP",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ ["--dp-size=4", "--enable-dp-attention"]
+ MTP_ARGS,
+ DP_MTP_ARGS,
variant="TP4+DP4+DPA+MTP",
),
]
+4 -2
View File
@@ -6,7 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True)
register_cuda_ci(
est_time=7200, suite="nightly-4-gpu-gb300", nightly=True, disabled="not needed"
)
MODEL_PATH = "moonshotai/Kimi-K2.5"
@@ -21,7 +23,7 @@ COMMON_ARGS = [
class TestKimiK25(unittest.TestCase):
"""Kimi-K2.5 (native INT4) on GB300 (4x B200 NVL4, tp=4).
"""Kimi-K2.5 (native INT4) on GB300 (4x GB300 NVL4, tp=4).
No EAGLE/MTP support for Kimi-K2.5 — only TP and TP+DP+DPA variants.
"""
+3 -2
View File
@@ -15,7 +15,8 @@ COMMON_ARGS = [
"--reasoning-parser=kimi_k2",
"--tool-call-parser=kimi_k2",
"--quantization=modelopt_fp4",
"--attention-backend=trtllm_mla",
"--attention-backend=tokenspeed_mla",
"--kv-cache-dtype=fp8_e4m3",
"--moe-runner-backend=flashinfer_trtllm",
"--mem-fraction-static=0.8",
"--enable-multimodal",
@@ -24,7 +25,7 @@ COMMON_ARGS = [
class TestKimiK25Nvfp4(unittest.TestCase):
"""Kimi-K2.5 NVFP4 on GB300 (4x B200 NVL4, tp=4).
"""Kimi-K2.5 NVFP4 on GB300 (4x GB300 NVL4, tp=4).
No EAGLE/MTP support for Kimi-K2.5 — only TP and TP+DP+DPA variants.
"""
+14 -14
View File
@@ -17,43 +17,43 @@ COMMON_ARGS = [
"--enable-flashinfer-allreduce-fusion",
"--attention-backend=trtllm_mha",
"--mem-fraction-static=0.8",
"--mamba-scheduler-strategy=extra_buffer",
"--enable-multimodal",
"--enable-metrics",
]
MTP_ARGS = [
TP_MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=3",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=4",
"--mamba-scheduler-strategy=extra_buffer",
"--page-size=64",
]
DP_MTP_ARGS = [
"--speculative-algorithm=EAGLE",
"--speculative-num-steps=1",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=2",
]
class TestQwen35Fp8(unittest.TestCase):
"""Qwen3.5-397B FP8 on GB300 (4x B200 NVL4, tp=4)."""
"""Qwen3.5-397B FP8 on GB300 (4x GB300 NVL4, tp=4)."""
def test_qwen35_fp8(self):
variants = [
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS,
variant="TP4",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS + ["--dp-size=4", "--enable-dp-attention"],
variant="TP4+DP4+DPA",
extra_args=COMMON_ARGS + TP_MTP_ARGS,
variant="TP4+MTP",
),
ModelLaunchSettings(
MODEL_PATH,
tp_size=4,
extra_args=COMMON_ARGS
+ ["--dp-size=4", "--enable-dp-attention"]
+ MTP_ARGS,
+ DP_MTP_ARGS,
variant="TP4+DP4+DPA+MTP",
),
]
@@ -62,7 +62,7 @@ class TestQwen35Fp8(unittest.TestCase):
models=variants,
test_name="Qwen3.5-397B-FP8",
accuracy_params=AccuracyTestParams(
dataset="mmmu-pro", baseline_accuracy=0.78, repeat=1, max_tokens=32768
dataset="mmmu-pro", baseline_accuracy=0.76, repeat=1, max_tokens=32768
),
performance_params=PerformanceTestParams(
profile_dir="performance_profiles_gb300",
+5 -3
View File
@@ -6,7 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True)
register_cuda_ci(
est_time=7200, suite="nightly-4-gpu-gb300", nightly=True, disabled="not needed"
)
MODEL_PATH = "nvidia/Qwen3.5-397B-A17B-NVFP4"
@@ -36,7 +38,7 @@ MTP_ARGS = [
class TestQwen35Nvfp4(unittest.TestCase):
"""Qwen3.5-397B NVFP4 on GB300 (4x B200 NVL4, tp=4)."""
"""Qwen3.5-397B NVFP4 on GB300 (4x GB300 NVL4, tp=4)."""
def test_qwen35_nvfp4(self):
variants = [
@@ -66,7 +68,7 @@ class TestQwen35Nvfp4(unittest.TestCase):
models=variants,
test_name="Qwen3.5-397B-NVFP4",
accuracy_params=AccuracyTestParams(
dataset="mmmu-pro", baseline_accuracy=0.78, repeat=1, max_tokens=32768
dataset="mmmu-pro", baseline_accuracy=0.76, repeat=1, max_tokens=32768
),
performance_params=PerformanceTestParams(
profile_dir="performance_profiles_gb300",
+1 -1
View File
@@ -121,7 +121,7 @@ NIGHTLY_SUITES = {
"nightly-eval-vlm-2-gpu",
"nightly-perf-text-2-gpu",
"nightly-perf-vlm-2-gpu",
# GB300 (4x B200 NVL4) nightly suite
# GB300 (4x GB300 NVL4) nightly suite
"nightly-4-gpu-gb300",
# Nightly precision regression (per-layer hidden state comparison)
"nightly-precision-8-gpu-h200",