config: the runner and scheduler read resolved config from the bags (#34095)

This commit is contained in:
Cheng Wan
2026-08-09 14:45:11 -07:00
committed by GitHub
parent a2199c1dee
commit e216c2bc59
10 changed files with 94 additions and 40 deletions
@@ -72,10 +72,16 @@ class TestKVCacheQuantRegistry(CustomTestCase):
from types import SimpleNamespace
from sglang.srt.model_executor.model_runner import ModelRunner
from sglang.srt.runtime_context import get_context
runner = object.__new__(ModelRunner)
runner.server_args = SimpleNamespace(kv_cache_dtype="fp4_e2m1")
runner.server_args = SimpleNamespace()
runner.draft_attention_backend = None
# The runner reads the requested dtype off the model bag, so the double
# publishes it rather than carrying it on a stand-in config.
override = get_context().override_server_args(kv_cache_dtype="fp4_e2m1")
override.install()
self.addCleanup(override.restore)
with self.assertRaisesRegex(ValueError, "fp4_mx_block16"):
runner.configure_kv_cache_dtype()
@@ -4,6 +4,7 @@ from types import SimpleNamespace
from sglang.srt.environ import envs
from sglang.srt.managers.scheduler import Scheduler
from sglang.srt.runtime_context import get_parallel
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=1, suite="base-a-test-cpu")
@@ -36,6 +37,14 @@ class TestSchedulerInitReqMaxNewTokens(unittest.TestCase):
def tearDownClass(cls):
cls._scheduler_logger.setLevel(cls._old_level)
def setUp(self):
# The scheduler scales the budget by the live DCP size
# (`get_parallel().attn_dcp_size`), so the double states a topology
# rather than publishing a config it does not otherwise need.
cm = get_parallel().override(attn_dcp_size=1)
cm.__enter__()
self.addCleanup(cm.__exit__, None, None, None)
def _new_scheduler(
self,
max_req_len: int = 128,