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:
co-authored by
Claude Opus 4.6
parent
92cdd398cd
commit
ae95869292
@@ -97,6 +97,7 @@ def _run_simple_eval(
|
|||||||
base_url,
|
base_url,
|
||||||
other_args=model.extra_args,
|
other_args=model.extra_args,
|
||||||
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
|
env=model.env,
|
||||||
)
|
)
|
||||||
|
|
||||||
args = SimpleNamespace(
|
args = SimpleNamespace(
|
||||||
@@ -165,6 +166,7 @@ def _run_few_shot_eval(
|
|||||||
base_url,
|
base_url,
|
||||||
other_args=model.extra_args,
|
other_args=model.extra_args,
|
||||||
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
|
env=model.env,
|
||||||
)
|
)
|
||||||
|
|
||||||
args = SimpleNamespace(
|
args = SimpleNamespace(
|
||||||
|
|||||||
@@ -229,6 +229,7 @@ class NightlyBenchmarkRunner:
|
|||||||
extra_bench_args: Optional[List[str]] = None,
|
extra_bench_args: Optional[List[str]] = None,
|
||||||
enable_profile: bool = True,
|
enable_profile: bool = True,
|
||||||
timeout: Optional[int] = None,
|
timeout: Optional[int] = None,
|
||||||
|
env: Optional[dict] = None,
|
||||||
) -> Tuple[List[BenchmarkResult], bool, Optional[float]]:
|
) -> Tuple[List[BenchmarkResult], bool, Optional[float]]:
|
||||||
"""Run a complete benchmark for a single model with server management.
|
"""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
|
extra_bench_args: Extra arguments for the benchmark command
|
||||||
enable_profile: Whether to enable profiling (default True for NVIDIA)
|
enable_profile: Whether to enable profiling (default True for NVIDIA)
|
||||||
timeout: Optional timeout for server launch (defaults to DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH)
|
timeout: Optional timeout for server launch (defaults to DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH)
|
||||||
|
env: Environment dict for subprocess
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Tuple of (list of BenchmarkResult objects, success_bool, avg_spec_accept_length or None)
|
Tuple of (list of BenchmarkResult objects, success_bool, avg_spec_accept_length or None)
|
||||||
@@ -265,6 +267,7 @@ class NightlyBenchmarkRunner:
|
|||||||
timeout=(
|
timeout=(
|
||||||
timeout if timeout is not None else DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH
|
timeout if timeout is not None else DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH
|
||||||
),
|
),
|
||||||
|
env=env,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ def run_performance_test(
|
|||||||
other_args=model.extra_args,
|
other_args=model.extra_args,
|
||||||
variant=model.variant or "",
|
variant=model.variant or "",
|
||||||
extra_bench_args=extra_bench_args,
|
extra_bench_args=extra_bench_args,
|
||||||
|
env=model.env,
|
||||||
)
|
)
|
||||||
|
|
||||||
if success and results:
|
if success and results:
|
||||||
|
|||||||
@@ -855,7 +855,9 @@ def popen_launch_server(
|
|||||||
if env is None:
|
if env is None:
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
else:
|
else:
|
||||||
env = env.copy()
|
merged = os.environ.copy()
|
||||||
|
merged.update(env)
|
||||||
|
env = merged
|
||||||
|
|
||||||
# Store per-run marker path for potential invalidation
|
# Store per-run marker path for potential invalidation
|
||||||
per_run_marker_path = None
|
per_run_marker_path = None
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class TestDeepseekV31(unittest.TestCase):
|
|||||||
DEEPSEEK_V31_MODEL_PATH,
|
DEEPSEEK_V31_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=base_args + mtp_args,
|
extra_args=base_args + mtp_args,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="TP8+MTP",
|
variant="TP8+MTP",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ class TestDeepseekV32(unittest.TestCase):
|
|||||||
DEEPSEEK_V32_MODEL_PATH,
|
DEEPSEEK_V32_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=BASE_ARGS + DP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
|
extra_args=BASE_ARGS + DP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="DP8+MTP",
|
variant="DP8+MTP",
|
||||||
),
|
),
|
||||||
# Variant: "tp" - Pure TP=8 only
|
# Variant: "tp" - Pure TP=8 only
|
||||||
@@ -82,6 +83,7 @@ class TestDeepseekV32(unittest.TestCase):
|
|||||||
DEEPSEEK_V32_MODEL_PATH,
|
DEEPSEEK_V32_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=BASE_ARGS + TP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
|
extra_args=BASE_ARGS + TP_ARGS + TOOL_CALL_ARGS + MTP_ARGS,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="TP8+MTP",
|
variant="TP8+MTP",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class TestDeepseekV32CPSingleNode(unittest.TestCase):
|
|||||||
DEEPSEEK_V32_EXP_MODEL_PATH,
|
DEEPSEEK_V32_EXP_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=BASE_ARGS + DP_ARGS + MTP_ARGS + CP_IN_SEQ_SPLIT_ARGS,
|
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="CP-in-seq-split",
|
||||||
),
|
),
|
||||||
# Variant: round-robin-split CP mode (TP only, no DP)
|
# Variant: round-robin-split CP mode (TP only, no DP)
|
||||||
@@ -72,6 +73,7 @@ class TestDeepseekV32CPSingleNode(unittest.TestCase):
|
|||||||
DEEPSEEK_V32_EXP_MODEL_PATH,
|
DEEPSEEK_V32_EXP_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=BASE_ARGS + MTP_ARGS + CP_ROUND_ROBIN_ARGS,
|
extra_args=BASE_ARGS + MTP_ARGS + CP_ROUND_ROBIN_ARGS,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="CP-round-robin-split",
|
variant="CP-round-robin-split",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class TestGLM46FP8(unittest.TestCase):
|
|||||||
GLM_4_6_FP8_MODEL_PATH,
|
GLM_4_6_FP8_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=base_args + mtp_args,
|
extra_args=base_args + mtp_args,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="TP8+MTP",
|
variant="TP8+MTP",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ class TestMistralLarge3(unittest.TestCase):
|
|||||||
MISTRAL_LARGE3_FP8_MODEL_PATH,
|
MISTRAL_LARGE3_FP8_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=base_args + eagle_args,
|
extra_args=base_args + eagle_args,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="TP8+MTP",
|
variant="TP8+MTP",
|
||||||
),
|
),
|
||||||
# Variant: "nvfp4" - NVFP4 model + TP=8 + trtllm_mla backend
|
# Variant: "nvfp4" - NVFP4 model + TP=8 + trtllm_mla backend
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ class TestQwen3235BFP8(unittest.TestCase):
|
|||||||
QWEN3_235B_FP8_MODEL_PATH,
|
QWEN3_235B_FP8_MODEL_PATH,
|
||||||
tp_size=8,
|
tp_size=8,
|
||||||
extra_args=base_args + eagle3_args,
|
extra_args=base_args + eagle3_args,
|
||||||
|
env={"SGLANG_ENABLE_SPEC_V2": "1"},
|
||||||
variant="TP8+EP2+EAGLE3",
|
variant="TP8+EP2+EAGLE3",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user