Enable SGLANG_ENABLE_SPEC_V2 for nightly speculative decoding tests (#18719)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kangyan-Zhou
2026-02-14 23:00:33 +08:00
committed by GitHub
parent 92cdd398cd
commit ae95869292
10 changed files with 17 additions and 1 deletions

View File

@@ -97,6 +97,7 @@ def _run_simple_eval(
base_url,
other_args=model.extra_args,
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
env=model.env,
)
args = SimpleNamespace(
@@ -165,6 +166,7 @@ def _run_few_shot_eval(
base_url,
other_args=model.extra_args,
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
env=model.env,
)
args = SimpleNamespace(

View File

@@ -229,6 +229,7 @@ class NightlyBenchmarkRunner:
extra_bench_args: Optional[List[str]] = None,
enable_profile: bool = True,
timeout: Optional[int] = None,
env: Optional[dict] = None,
) -> Tuple[List[BenchmarkResult], bool, Optional[float]]:
"""Run a complete benchmark for a single model with server management.
@@ -249,6 +250,7 @@ class NightlyBenchmarkRunner:
extra_bench_args: Extra arguments for the benchmark command
enable_profile: Whether to enable profiling (default True for NVIDIA)
timeout: Optional timeout for server launch (defaults to DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH)
env: Environment dict for subprocess
Returns:
Tuple of (list of BenchmarkResult objects, success_bool, avg_spec_accept_length or None)
@@ -265,6 +267,7 @@ class NightlyBenchmarkRunner:
timeout=(
timeout if timeout is not None else DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH
),
env=env,
)
try:

View File

@@ -79,6 +79,7 @@ def run_performance_test(
other_args=model.extra_args,
variant=model.variant or "",
extra_bench_args=extra_bench_args,
env=model.env,
)
if success and results:

View File

@@ -855,7 +855,9 @@ def popen_launch_server(
if env is None:
env = os.environ.copy()
else:
env = env.copy()
merged = os.environ.copy()
merged.update(env)
env = merged
# Store per-run marker path for potential invalidation
per_run_marker_path = None

View File

@@ -54,6 +54,7 @@ class TestDeepseekV31(unittest.TestCase):
DEEPSEEK_V31_MODEL_PATH,
tp_size=8,
extra_args=base_args + mtp_args,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="TP8+MTP",
),
]

View File

@@ -68,6 +68,7 @@ class TestDeepseekV32(unittest.TestCase):
DEEPSEEK_V32_MODEL_PATH,
tp_size=8,
extra_args=BASE_ARGS + DP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="DP8+MTP",
),
# Variant: "tp" - Pure TP=8 only
@@ -82,6 +83,7 @@ class TestDeepseekV32(unittest.TestCase):
DEEPSEEK_V32_MODEL_PATH,
tp_size=8,
extra_args=BASE_ARGS + TP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="TP8+MTP",
),
]

View File

@@ -65,6 +65,7 @@ class TestDeepseekV32CPSingleNode(unittest.TestCase):
DEEPSEEK_V32_EXP_MODEL_PATH,
tp_size=8,
extra_args=BASE_ARGS + DP_ARGS + MTP_ARGS + CP_IN_SEQ_SPLIT_ARGS,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="CP-in-seq-split",
),
# Variant: round-robin-split CP mode (TP only, no DP)
@@ -72,6 +73,7 @@ class TestDeepseekV32CPSingleNode(unittest.TestCase):
DEEPSEEK_V32_EXP_MODEL_PATH,
tp_size=8,
extra_args=BASE_ARGS + MTP_ARGS + CP_ROUND_ROBIN_ARGS,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="CP-round-robin-split",
),
]

View File

@@ -45,6 +45,7 @@ class TestGLM46FP8(unittest.TestCase):
GLM_4_6_FP8_MODEL_PATH,
tp_size=8,
extra_args=base_args + mtp_args,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="TP8+MTP",
),
]

View File

@@ -76,6 +76,7 @@ class TestMistralLarge3(unittest.TestCase):
MISTRAL_LARGE3_FP8_MODEL_PATH,
tp_size=8,
extra_args=base_args + eagle_args,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="TP8+MTP",
),
# Variant: "nvfp4" - NVFP4 model + TP=8 + trtllm_mla backend

View File

@@ -55,6 +55,7 @@ class TestQwen3235BFP8(unittest.TestCase):
QWEN3_235B_FP8_MODEL_PATH,
tp_size=8,
extra_args=base_args + eagle3_args,
env={"SGLANG_ENABLE_SPEC_V2": "1"},
variant="TP8+EP2+EAGLE3",
),
]