From 46c2b7762765f512ee7697794d83b9304d47d01c Mon Sep 17 00:00:00 2001 From: Kangyan-Zhou Date: Wed, 8 Apr 2026 17:04:57 -0700 Subject: [PATCH] [CI] Add GLM-5.1 nightly tests and update Qwen3.5 model (#22399) Co-authored-by: Claude Opus 4.6 (1M context) --- .../8-gpu-models/test_glm_51_fp8.py | 69 +++++++++++++++++++ test/registered/8-gpu-models/test_qwen35.py | 13 +++- test/registered/gb300/test_glm5_fp8.py | 6 +- 3 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 test/registered/8-gpu-models/test_glm_51_fp8.py diff --git a/test/registered/8-gpu-models/test_glm_51_fp8.py b/test/registered/8-gpu-models/test_glm_51_fp8.py new file mode 100644 index 000000000..ace31a06f --- /dev/null +++ b/test/registered/8-gpu-models/test_glm_51_fp8.py @@ -0,0 +1,69 @@ +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 + +# Runs on both H200 and B200 via nightly-8-gpu-common suite +register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True) + +GLM_51_FP8_MODEL_PATH = "zai-org/GLM-5.1-FP8" + +COMMON_ARGS = [ + "--trust-remote-code", + "--reasoning-parser=glm45", + "--tool-call-parser=glm47", + "--mem-fraction-static=0.9", + "--enable-metrics", +] + +MTP_ARGS = [ + "--speculative-algorithm=EAGLE", + "--speculative-num-steps=3", + "--speculative-eagle-topk=1", + "--speculative-num-draft-tokens=4", +] + + +class TestGlm51Fp8(unittest.TestCase): + """GLM-5.1 FP8 on H200/B200 (8-GPU, tp=8).""" + + def test_glm51_fp8(self): + dp_args = ["--dp=8", "--enable-dp-attention"] + + variants = [ + ModelLaunchSettings( + GLM_51_FP8_MODEL_PATH, + tp_size=8, + extra_args=COMMON_ARGS, + variant="TP8", + ), + ModelLaunchSettings( + GLM_51_FP8_MODEL_PATH, + tp_size=8, + extra_args=COMMON_ARGS + dp_args, + variant="TP8+DP8", + ), + ModelLaunchSettings( + GLM_51_FP8_MODEL_PATH, + tp_size=8, + extra_args=COMMON_ARGS + dp_args + MTP_ARGS, + variant="TP8+DP8+MTP", + env={"SGLANG_ENABLE_SPEC_V2": "1"}, + ), + ] + + run_combined_tests( + models=variants, + test_name="GLM-5.1-FP8", + accuracy_params=AccuracyTestParams(dataset="gsm8k", baseline_accuracy=0.92), + performance_params=PerformanceTestParams( + profile_dir="performance_profiles_glm_51_fp8", + ), + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/registered/8-gpu-models/test_qwen35.py b/test/registered/8-gpu-models/test_qwen35.py index 7386b4a8c..813552b83 100644 --- a/test/registered/8-gpu-models/test_qwen35.py +++ b/test/registered/8-gpu-models/test_qwen35.py @@ -9,7 +9,7 @@ from sglang.test.test_utils import ModelLaunchSettings # Runs on both H200 and B200 via nightly-8-gpu-common suite register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True) -QWEN35_MODEL_PATH = "Qwen/Qwen3.5-397B-A17B" +QWEN35_MODEL_PATH = "Qwen/Qwen3.5-397B-A17B-FP8" class TestQwen35(unittest.TestCase): @@ -30,6 +30,7 @@ class TestQwen35(unittest.TestCase): "--tool-call-parser=qwen3_coder", "--mem-fraction-static=0.8", ] + dp_args = ["--dp=8", "--enable-dp-attention"] mtp_args = [ "--speculative-algorithm=EAGLE", "--speculative-num-steps=3", @@ -48,8 +49,14 @@ class TestQwen35(unittest.TestCase): ModelLaunchSettings( QWEN35_MODEL_PATH, tp_size=8, - extra_args=base_args + mtp_args, - variant="TP8+MTP", + extra_args=base_args + dp_args, + variant="TP8+DP8", + ), + ModelLaunchSettings( + QWEN35_MODEL_PATH, + tp_size=8, + extra_args=base_args + dp_args + mtp_args, + variant="TP8+DP8+MTP", env={"SGLANG_ENABLE_SPEC_V2": "1"}, ), ] diff --git a/test/registered/gb300/test_glm5_fp8.py b/test/registered/gb300/test_glm5_fp8.py index e429e5873..388f21b63 100644 --- a/test/registered/gb300/test_glm5_fp8.py +++ b/test/registered/gb300/test_glm5_fp8.py @@ -8,7 +8,7 @@ from sglang.test.test_utils import ModelLaunchSettings register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300", nightly=True) -MODEL_PATH = "zai-org/GLM-5-FP8" +MODEL_PATH = "zai-org/GLM-5.1-FP8" COMMON_ARGS = [ "--trust-remote-code", @@ -27,7 +27,7 @@ MTP_ARGS = [ class TestGlm5Fp8(unittest.TestCase): - """GLM-5 FP8 on GB300 (4x B200 NVL4, tp=4).""" + """GLM-5.1 FP8 on GB300 (4x B200 NVL4, tp=4).""" def test_glm5_fp8(self): variants = [ @@ -56,7 +56,7 @@ class TestGlm5Fp8(unittest.TestCase): run_combined_tests( models=variants, - test_name="GLM-5-FP8", + test_name="GLM-5.1-FP8", accuracy_params=AccuracyTestParams(dataset="gsm8k", baseline_accuracy=0.92), performance_params=PerformanceTestParams( profile_dir="performance_profiles_gb300",