diff --git a/test/registered/cp/test_deepseek_v4_flash_fp4_b200_cp.py b/test/registered/cp/test_deepseek_v4_flash_fp4_b200_cp.py index 987241b84..5c0490221 100644 --- a/test/registered/cp/test_deepseek_v4_flash_fp4_b200_cp.py +++ b/test/registered/cp/test_deepseek_v4_flash_fp4_b200_cp.py @@ -14,6 +14,7 @@ from sglang.srt.utils import kill_process_tree from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.test_utils import ( DEFAULT_URL_FOR_TEST, CustomTestCase, @@ -33,6 +34,7 @@ _DEEPEP_ENV = { class TestDSV4FlashFP4B200Balanced_CP( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -40,6 +42,8 @@ class TestDSV4FlashFP4B200Balanced_CP( """Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec).""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 100 @classmethod def setUpClass(cls): @@ -82,6 +86,7 @@ class TestDSV4FlashFP4B200Balanced_CP( class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -89,6 +94,8 @@ class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP( """Balanced recipe: TP=4, DP=4, EAGLE (1-step spec).""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 100 @classmethod def setUpClass(cls): diff --git a/test/registered/disaggregation/test_disaggregation_dsv4.py b/test/registered/disaggregation/test_disaggregation_dsv4.py index 91231cead..5d54c4436 100644 --- a/test/registered/disaggregation/test_disaggregation_dsv4.py +++ b/test/registered/disaggregation/test_disaggregation_dsv4.py @@ -2,6 +2,7 @@ import unittest from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.server_fixtures.disaggregation_fixture import ( PDDisaggregationServerBase, ) @@ -38,9 +39,10 @@ _EAGLE_SPEC_ARGS = [ ] -class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin): - +class TestDisaggregationDSV4(SpecDecodingMixin, PDDisaggregationServerBase, GSM8KMixin): gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 140 @classmethod def setUpClass(cls): @@ -128,7 +130,6 @@ class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin): class TestDisaggregationDSV4HiSparseMooncake(PDDisaggregationServerBase, GSM8KMixin): - gsm8k_accuracy_thres = 0.93 gsm8k_num_questions = 200 gsm8k_num_shots = 20 diff --git a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_b200.py b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_b200.py index 59380ae71..62ab37d03 100644 --- a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_b200.py +++ b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_b200.py @@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.test_utils import ( DEFAULT_URL_FOR_TEST, CustomTestCase, @@ -32,6 +33,7 @@ _DEEPEP_ENV = { class TestDSV4FlashFP4B200( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -39,6 +41,8 @@ class TestDSV4FlashFP4B200( """LowLatency recipe: TP=4, FP4 (mxfp4), EAGLE spec decoding.""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 2.6 + bs_1_speed_thres = 220 @classmethod def setUpClass(cls): @@ -75,6 +79,7 @@ class TestDSV4FlashFP4B200( class TestDSV4FlashFP4B200Balanced( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -82,6 +87,8 @@ class TestDSV4FlashFP4B200Balanced( """Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec).""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 100 @classmethod def setUpClass(cls): diff --git a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_h200.py b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_h200.py index 882807e35..4a940197c 100644 --- a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_h200.py +++ b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_h200.py @@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.test_utils import ( DEFAULT_URL_FOR_TEST, CustomTestCase, @@ -41,6 +42,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9 class TestDSV4FlashFP4H200( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -48,6 +50,8 @@ class TestDSV4FlashFP4H200( """LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding.""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 2.8 + bs_1_speed_thres = 240 @classmethod def setUpClass(cls): @@ -87,6 +91,7 @@ class TestDSV4FlashFP4H200( "FlashInfer build lacks SM90 mixed-input MXFP4 helpers (PR #3084, >= 0.6.11)", ) class TestDSV4FlashFP4H200FlashInferCutlass( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -99,6 +104,8 @@ class TestDSV4FlashFP4H200FlashInferCutlass( """ gsm8k_accuracy_thres = 0.93 + accept_length_thres = 2.8 + bs_1_speed_thres = 230 @classmethod def setUpClass(cls): diff --git a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_megamoe_b200.py b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_megamoe_b200.py index 565df3275..505241dbf 100644 --- a/test/registered/models_e2e/test_deepseek_v4_flash_fp4_megamoe_b200.py +++ b/test/registered/models_e2e/test_deepseek_v4_flash_fp4_megamoe_b200.py @@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.test_utils import ( DEFAULT_URL_FOR_TEST, CustomTestCase, @@ -39,6 +40,7 @@ _W4A4_MEGAMOE_ENV = { class TestDSV4FlashFP4B200W4A8MegaMoE( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -46,6 +48,8 @@ class TestDSV4FlashFP4B200W4A8MegaMoE( """Balanced recipe: TP=4, DP=4, MegaMoE.""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 100 @classmethod def setUpClass(cls): @@ -83,6 +87,7 @@ class TestDSV4FlashFP4B200W4A8MegaMoE( class TestDSV4FlashFP4B200W4A4MegaMoE( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -90,6 +95,8 @@ class TestDSV4FlashFP4B200W4A4MegaMoE( """Balanced recipe: TP=4, DP=4, MegaMoE.""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 2.6 + bs_1_speed_thres = 100 @classmethod def setUpClass(cls): diff --git a/test/registered/models_e2e/test_deepseek_v4_flash_fp8_h200.py b/test/registered/models_e2e/test_deepseek_v4_flash_fp8_h200.py index ed2986ed1..b97cc879e 100644 --- a/test/registered/models_e2e/test_deepseek_v4_flash_fp8_h200.py +++ b/test/registered/models_e2e/test_deepseek_v4_flash_fp8_h200.py @@ -14,6 +14,7 @@ from sglang.srt.utils import kill_process_tree from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin from sglang.test.kits.eval_accuracy_kit import GSM8KMixin +from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.test_utils import ( DEFAULT_URL_FOR_TEST, CustomTestCase, @@ -29,6 +30,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9 class TestDSV4FlashFP8H200( + SpecDecodingMixin, BasicDecodeCorrectnessMixin, GSM8KMixin, CustomTestCase, @@ -36,6 +38,8 @@ class TestDSV4FlashFP8H200( """LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding.""" gsm8k_accuracy_thres = 0.93 + accept_length_thres = 1.8 + bs_1_speed_thres = 140 @classmethod def setUpClass(cls):