From f0d621cfa6729d18185e6efba39bd08a9efebedd Mon Sep 17 00:00:00 2001 From: Cheng Wan <54331508+ch-wan@users.noreply.github.com> Date: Sat, 29 Aug 2026 04:20:55 -0700 Subject: [PATCH] config: the dead record parameters go (#36974) Co-authored-by: Claude Opus 5 --- python/sglang/srt/arg_groups/cuda_graph_hook.py | 4 ++-- python/sglang/srt/arg_groups/memory_hook.py | 2 +- python/sglang/srt/arg_groups/model_hook.py | 2 +- python/sglang/srt/arg_groups/parallel_hook.py | 6 ++---- .../srt/arg_groups/pd_disaggregation_hook.py | 4 +--- python/sglang/srt/arg_groups/pipeline.py | 2 +- python/sglang/srt/arg_groups/platform_hook.py | 2 +- python/sglang/srt/arg_groups/validation_hook.py | 12 ++++-------- python/sglang/srt/mem_cache/hiradix_cache.py | 2 -- .../hybrid_cache/hybrid_pool_assembler.py | 16 ---------------- test/registered/cpu/test_server_args_backend.py | 3 +-- 11 files changed, 14 insertions(+), 41 deletions(-) diff --git a/python/sglang/srt/arg_groups/cuda_graph_hook.py b/python/sglang/srt/arg_groups/cuda_graph_hook.py index 2ccf50816..47ba48f76 100644 --- a/python/sglang/srt/arg_groups/cuda_graph_hook.py +++ b/python/sglang/srt/arg_groups/cuda_graph_hook.py @@ -376,7 +376,7 @@ def apply_deepep_adjustments(server_args: Any): if bs is None: # 2048 = documented prefill default; max_bs unresolved here. max_bs = cfg.cuda_graph_config.prefill.max_bs or 2048 - bs = generate_prefill_cuda_graph_batch_sizes(server_args, max_bs) + bs = generate_prefill_cuda_graph_batch_sizes(max_bs) aligned = sorted({((b + 7) // 8) * 8 for b in bs}) if aligned != sorted(bs): logger.info( @@ -473,7 +473,7 @@ def validate_cuda_graph_config(server_args: Any): ) -def generate_prefill_cuda_graph_batch_sizes(server_args: Any, max_bs: int): +def generate_prefill_cuda_graph_batch_sizes(max_bs: int): """ Generate the list of batch sizes for prefill CUDA graph capture based on max_bs. For tc_piecewise prefill, bs carries the diff --git a/python/sglang/srt/arg_groups/memory_hook.py b/python/sglang/srt/arg_groups/memory_hook.py index 8df0d0063..d060fca3f 100644 --- a/python/sglang/srt/arg_groups/memory_hook.py +++ b/python/sglang/srt/arg_groups/memory_hook.py @@ -206,7 +206,7 @@ def handle_gpu_memory_settings(server_args: Any, gpu_mem): if prefill_cuda_graph_config.bs is None: prefill_cuda_graph_config.bs = generate_prefill_cuda_graph_batch_sizes( - server_args, prefill_cuda_graph_config.max_bs + prefill_cuda_graph_config.max_bs ) if cuda_graph_config != cfg.cuda_graph_config: diff --git a/python/sglang/srt/arg_groups/model_hook.py b/python/sglang/srt/arg_groups/model_hook.py index 1e7b42da4..da135d50b 100644 --- a/python/sglang/srt/arg_groups/model_hook.py +++ b/python/sglang/srt/arg_groups/model_hook.py @@ -786,7 +786,7 @@ def handle_model_capability_adjustments(server_args: Any): } if (Phase.PREFILL, "bs") not in cuda_graph_config_locked: sizing["bs"] = generate_prefill_cuda_graph_batch_sizes( - server_args, sizing["max_bs"] + sizing["max_bs"] ) declare_resolution( server_args, diff --git a/python/sglang/srt/arg_groups/parallel_hook.py b/python/sglang/srt/arg_groups/parallel_hook.py index cf0de3607..1def83629 100644 --- a/python/sglang/srt/arg_groups/parallel_hook.py +++ b/python/sglang/srt/arg_groups/parallel_hook.py @@ -221,7 +221,7 @@ def handle_data_parallelism(server_args: Any): clamped = {"max_bs": cfg.chunked_prefill_size} if (Phase.PREFILL, "bs") not in server_args._cuda_graph_config_locked: clamped["bs"] = generate_prefill_cuda_graph_batch_sizes( - server_args, clamped["max_bs"] + clamped["max_bs"] ) declare_resolution( server_args, @@ -370,9 +370,7 @@ def handle_elastic_ep(server_args: Any): declare_resolution( server_args, "_handle_elastic_ep", - mooncake_ib_device=validate_ib_devices( - server_args, cfg.mooncake_ib_device - ), + mooncake_ib_device=validate_ib_devices(cfg.mooncake_ib_device), ) if cfg.ep_join_mode is not None: assert ( diff --git a/python/sglang/srt/arg_groups/pd_disaggregation_hook.py b/python/sglang/srt/arg_groups/pd_disaggregation_hook.py index 13d2a7543..456827dec 100644 --- a/python/sglang/srt/arg_groups/pd_disaggregation_hook.py +++ b/python/sglang/srt/arg_groups/pd_disaggregation_hook.py @@ -218,9 +218,7 @@ def handle_encoder_disaggregation(server_args: Any): declare_resolution( server_args, "_handle_encoder_disaggregation", - disaggregation_ib_device=validate_ib_devices( - server_args, cfg.disaggregation_ib_device - ), + disaggregation_ib_device=validate_ib_devices(cfg.disaggregation_ib_device), ) # Validate model type for encoder disaggregation diff --git a/python/sglang/srt/arg_groups/pipeline.py b/python/sglang/srt/arg_groups/pipeline.py index 326312f35..e2022e179 100644 --- a/python/sglang/srt/arg_groups/pipeline.py +++ b/python/sglang/srt/arg_groups/pipeline.py @@ -104,7 +104,7 @@ def run_resolution_pipeline(server_args: Any) -> None: handle_hardware_runtime_validation, ) - handle_hardware_runtime_validation(server_args) + handle_hardware_runtime_validation() if cfg.model_path.lower() in ["none", "dummy"]: return diff --git a/python/sglang/srt/arg_groups/platform_hook.py b/python/sglang/srt/arg_groups/platform_hook.py index 3f851fa15..46725e563 100644 --- a/python/sglang/srt/arg_groups/platform_hook.py +++ b/python/sglang/srt/arg_groups/platform_hook.py @@ -17,7 +17,7 @@ from sglang.srt.utils.common import is_cuda, is_hip, is_host_cpu_arm64, is_npu logger = logging.getLogger(__name__) -def handle_hardware_runtime_validation(server_args: Any): +def handle_hardware_runtime_validation(): # This is intentionally independent of `server_args.device`: setting # SGLANG_USE_MLX opts into the MLX backend and must fail immediately if # the environment cannot honor that request. With the flag unset, diff --git a/python/sglang/srt/arg_groups/validation_hook.py b/python/sglang/srt/arg_groups/validation_hook.py index ee114610e..c9fcb9242 100644 --- a/python/sglang/srt/arg_groups/validation_hook.py +++ b/python/sglang/srt/arg_groups/validation_hook.py @@ -122,12 +122,8 @@ def check_server_args(server_args: Any): assert cfg.detokenizer_worker_num > 0, "Detokenizer worker num must >= 1" assert cfg.mm_processor_worker_num >= 0, "Multimodal processor worker num must >= 0" assert cfg.mm_io_worker_num >= 0, "Multimodal I/O worker num must >= 0" - validate_buckets_rule( - server_args, "--prompt-tokens-buckets", cfg.prompt_tokens_buckets - ) - validate_buckets_rule( - server_args, "--generation-tokens-buckets", cfg.generation_tokens_buckets - ) + validate_buckets_rule("--prompt-tokens-buckets", cfg.prompt_tokens_buckets) + validate_buckets_rule("--generation-tokens-buckets", cfg.generation_tokens_buckets) # Check scheduling policy if cfg.enable_priority_scheduling: @@ -222,7 +218,7 @@ def check_server_args(server_args: Any): check_load_publish_args(server_args) -def validate_buckets_rule(server_args: Any, arg_name: str, buckets_rule: List[str]): +def validate_buckets_rule(arg_name: str, buckets_rule: List[str]): if not buckets_rule: return @@ -313,7 +309,7 @@ def check_load_publish_args(server_args: Any): raise ValueError(reason) -def validate_ib_devices(server_args: Any, device_str: Optional[str]) -> Optional[str]: +def validate_ib_devices(device_str: Optional[str]) -> Optional[str]: """ Validate IB devices before passing to mooncake. diff --git a/python/sglang/srt/mem_cache/hiradix_cache.py b/python/sglang/srt/mem_cache/hiradix_cache.py index 3bd2d6c84..531595ad1 100644 --- a/python/sglang/srt/mem_cache/hiradix_cache.py +++ b/python/sglang/srt/mem_cache/hiradix_cache.py @@ -148,7 +148,6 @@ class HiRadixCache(RadixCache): attach_hybrid_dsa_pool_to_hiradix_cache( self, params, - server_args, extra_config=extra_config, prefetch_threshold=prefetch_threshold, enable_storage_metrics=self.enable_storage_metrics, @@ -162,7 +161,6 @@ class HiRadixCache(RadixCache): attach_hybrid_minimax_sparse_pool_to_hiradix_cache( self, params, - server_args, extra_config=extra_config, prefetch_threshold=prefetch_threshold, enable_storage_metrics=self.enable_storage_metrics, diff --git a/python/sglang/srt/mem_cache/hybrid_cache/hybrid_pool_assembler.py b/python/sglang/srt/mem_cache/hybrid_cache/hybrid_pool_assembler.py index 3ed55425e..a3cddf597 100644 --- a/python/sglang/srt/mem_cache/hybrid_cache/hybrid_pool_assembler.py +++ b/python/sglang/srt/mem_cache/hybrid_cache/hybrid_pool_assembler.py @@ -289,7 +289,6 @@ def build_hybrid_swa_group( def build_kv_only_stack( *, params: CacheInitParams, - server_args: ServerArgs, kv_pool: Any, full_layer_mapping: dict[int, int], load_cache_event, @@ -335,7 +334,6 @@ def build_kv_only_stack( def build_hybrid_swa_stack( *, params: CacheInitParams, - server_args: ServerArgs, full_kv_pool: Any, swa_kv_pool: Any, full_layer_mapping: dict[int, int], @@ -437,7 +435,6 @@ def _dsv4_compressed_region_buffers(kvcache: Any, ratio: int) -> tuple[list, int def build_deepseek_v4_hicache_stack( *, params: CacheInitParams, - server_args: ServerArgs, kvcache: Any, load_cache_event, storage_backend: Optional[str], @@ -687,7 +684,6 @@ def build_deepseek_v4_hicache_stack( def build_hybrid_mamba_stack( *, params: CacheInitParams, - server_args: ServerArgs, kv_pool: Any, mamba_pool: Any, full_layer_mapping: dict[int, int], @@ -781,7 +777,6 @@ def build_hybrid_mamba_stack( def build_hybrid_mamba_swa_stack( *, params: CacheInitParams, - server_args: ServerArgs, full_kv_pool: Any, swa_kv_pool: Any, mamba_pool: Any, @@ -893,7 +888,6 @@ def build_hybrid_mamba_swa_stack( def build_anchor_sidecar_stack( *, params: CacheInitParams, - server_args: ServerArgs, kv_pool: Any, sidecar_pool_name: PoolName, full_layer_mapping: dict[int, int], @@ -1214,7 +1208,6 @@ class _DeepSeekV4Strategy(StackStrategy): ): host_pool_group, cache_controller = build_deepseek_v4_hicache_stack( params=params, - server_args=server_args, kvcache=kvcache, load_cache_event=load_cache_event, storage_backend=storage_backend, @@ -1290,7 +1283,6 @@ class _MambaStrategy(StackStrategy): mamba_layer_mapping = dict(params.req_to_token_pool.mamba_map) host_pool_group, cache_controller = build_hybrid_mamba_stack( params=params, - server_args=server_args, kv_pool=kvcache.full_kv_pool, mamba_pool=params.req_to_token_pool.mamba_pool, full_layer_mapping=full_layer_mapping, @@ -1356,7 +1348,6 @@ class _SwaStrategy(StackStrategy): full_layer_mapping, swa_layer_mapping = _swa_layer_mappings(kvcache) host_pool_group, cache_controller = build_hybrid_swa_stack( params=params, - server_args=server_args, full_kv_pool=kvcache.full_kv_pool, swa_kv_pool=kvcache.swa_kv_pool, full_layer_mapping=full_layer_mapping, @@ -1417,7 +1408,6 @@ class _MambaSwaStrategy(StackStrategy): mamba_layer_mapping = dict(params.req_to_token_pool.mamba_map) host_pool_group, cache_controller = build_hybrid_mamba_swa_stack( params=params, - server_args=server_args, full_kv_pool=kvcache.full_kv_pool, swa_kv_pool=kvcache.swa_kv_pool, mamba_pool=params.req_to_token_pool.mamba_pool, @@ -1485,7 +1475,6 @@ class _DsaStrategy(StackStrategy): full_layer_mapping = {i: i for i in range(full_kv_pool.layer_num)} host_pool_group, cache_controller = build_anchor_sidecar_stack( params=params, - server_args=server_args, kv_pool=full_kv_pool, sidecar_pool_name=PoolName.INDEXER, full_layer_mapping=full_layer_mapping, @@ -1621,7 +1610,6 @@ class _PlainKvStrategy(StackStrategy): full_layer_mapping = {i: i for i in range(full_kv_pool.layer_num)} host_pool_group, cache_controller = build_kv_only_stack( params=params, - server_args=server_args, kv_pool=full_kv_pool, full_layer_mapping=full_layer_mapping, load_cache_event=load_cache_event, @@ -1828,7 +1816,6 @@ def build_minimax_sparse_hicache_stack( def attach_hybrid_minimax_sparse_pool_to_hiradix_cache( radix_cache: HiRadixCache, params: CacheInitParams, - server_args: ServerArgs, *, extra_config: dict, prefetch_threshold: int, @@ -1856,7 +1843,6 @@ def attach_hybrid_minimax_sparse_pool_to_hiradix_cache( if sparse_pool.index_k_pool is None: host_pool_group, cache_controller = build_kv_only_stack( params=params, - server_args=server_args, kv_pool=main_pool, full_layer_mapping={ layer_id: layer_id for layer_id in range(main_pool.layer_num) @@ -1902,7 +1888,6 @@ def attach_hybrid_minimax_sparse_pool_to_hiradix_cache( def attach_hybrid_dsa_pool_to_hiradix_cache( radix_cache: HiRadixCache, params: CacheInitParams, - server_args: ServerArgs, *, extra_config: dict, prefetch_threshold: int, @@ -1918,7 +1903,6 @@ def attach_hybrid_dsa_pool_to_hiradix_cache( layer_mapping = {layer_id: layer_id for layer_id in range(kv.layer_num)} host_pool_group, cache_controller = build_anchor_sidecar_stack( params=params, - server_args=server_args, kv_pool=kv, sidecar_pool_name=PoolName.INDEXER, full_layer_mapping=layer_mapping, diff --git a/test/registered/cpu/test_server_args_backend.py b/test/registered/cpu/test_server_args_backend.py index c357fc248..9822397eb 100644 --- a/test/registered/cpu/test_server_args_backend.py +++ b/test/registered/cpu/test_server_args_backend.py @@ -47,7 +47,6 @@ class TestServerArgsCPUBackend(unittest.TestCase): class TestServerArgsIBDeviceValidation(unittest.TestCase): def _validate_ib_devices(self, device_str, available_devices=None): - server_args = ServerArgs.__new__(ServerArgs) available_devices = available_devices or [ "mlx5_0", "mlx5_1", @@ -70,7 +69,7 @@ class TestServerArgsIBDeviceValidation(unittest.TestCase): else real_listdir(path) ), ): - return validate_ib_devices(server_args, device_str) + return validate_ib_devices(device_str) def test_validate_ib_devices_accepts_comma_separated(self): self.assertEqual(