From f0f78a6c936b0cac106f95eadbd46ccdd13f87be Mon Sep 17 00:00:00 2001 From: ANSHUMAN TRIPATHY Date: Fri, 24 Jul 2026 10:18:21 +0530 Subject: [PATCH] Add deterministic inference for eagle parity test (#30026) --- python/sglang/test/kits/spec_server_kits.py | 5 +++++ python/sglang/test/server_fixtures/spec_eagle_fixture.py | 3 +++ test/registered/spec/eagle/test_spec_eagle_parity.py | 8 ++------ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/python/sglang/test/kits/spec_server_kits.py b/python/sglang/test/kits/spec_server_kits.py index e7c792ae2..07e11738d 100644 --- a/python/sglang/test/kits/spec_server_kits.py +++ b/python/sglang/test/kits/spec_server_kits.py @@ -161,6 +161,11 @@ class SpecParityKit: "--dtype", cls.dtype, *(["--trust-remote-code"] if cls.trust_remote_code else []), + *( + ["--enable-deterministic-inference"] + if cls.enable_deterministic_inference + else [] + ), ], ) try: diff --git a/python/sglang/test/server_fixtures/spec_eagle_fixture.py b/python/sglang/test/server_fixtures/spec_eagle_fixture.py index ddb6acb39..3af28f703 100644 --- a/python/sglang/test/server_fixtures/spec_eagle_fixture.py +++ b/python/sglang/test/server_fixtures/spec_eagle_fixture.py @@ -69,6 +69,7 @@ class SpecEagleServerBase(CustomTestCase): # Launch with --enable-return-hidden-states so SpecHiddenStatesKit can probe # per-request hidden states; per-request gated, so other requests don't pay. enable_return_hidden_states = False + enable_deterministic_inference = False # -- extras -- # env_overrides: (env_var_obj, value) pairs applied only around launch. @@ -109,6 +110,8 @@ class SpecEagleServerBase(CustomTestCase): args.append("--trust-remote-code") if cls.enable_return_hidden_states: args.append("--enable-return-hidden-states") + if cls.enable_deterministic_inference: + args.append("--enable-deterministic-inference") if cls.cuda_graph_max_bs_decode is not None: args += ["--cuda-graph-max-bs-decode", str(cls.cuda_graph_max_bs_decode)] args += [str(a) for a in cls.extra_args] diff --git a/test/registered/spec/eagle/test_spec_eagle_parity.py b/test/registered/spec/eagle/test_spec_eagle_parity.py index fe85dd35c..9059dd4ee 100644 --- a/test/registered/spec/eagle/test_spec_eagle_parity.py +++ b/test/registered/spec/eagle/test_spec_eagle_parity.py @@ -13,12 +13,7 @@ from sglang.test.kits.spec_server_kits import SpecParityKit from sglang.test.server_fixtures.spec_eagle_fixture import Eagle3Base register_cuda_ci(est_time=360, stage="base-b", runner_config="1-gpu-large") -register_xpu_ci( - est_time=360, - stage="stage-b", - runner_config="1-gpu-xpu", - disabled="EAGLE3 numerical parity mismatches on XPU", -) +register_xpu_ci(est_time=360, stage="stage-b", runner_config="1-gpu-xpu") _is_xpu = is_xpu() @@ -26,6 +21,7 @@ _is_xpu = is_xpu() class _Eagle3ParityBase(Eagle3Base): """Shared knobs for EAGLE3 parity variants; no test methods.""" + enable_deterministic_inference = True env_overrides = ((envs.SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_BUSY, 1),)