From 18cfeabd33fcc652236a193e717bf20106cb44b4 Mon Sep 17 00:00:00 2001 From: zhaoshang <37045491+power-more@users.noreply.github.com> Date: Wed, 11 Mar 2026 14:10:53 +0800 Subject: [PATCH] Add SGLANG_SORT_WEIGHT_FILES env var for sequential I/O optimization (#20194) Signed-off-by: zhaoshang --- .../runtime/loader/component_loaders/text_encoder_loader.py | 4 ++++ python/sglang/srt/environ.py | 1 + python/sglang/srt/model_loader/loader.py | 3 +++ 3 files changed, 8 insertions(+) diff --git a/python/sglang/multimodal_gen/runtime/loader/component_loaders/text_encoder_loader.py b/python/sglang/multimodal_gen/runtime/loader/component_loaders/text_encoder_loader.py index 35c4102a7..3b85e7b5e 100644 --- a/python/sglang/multimodal_gen/runtime/loader/component_loaders/text_encoder_loader.py +++ b/python/sglang/multimodal_gen/runtime/loader/component_loaders/text_encoder_loader.py @@ -39,6 +39,7 @@ from sglang.multimodal_gen.runtime.utils.hf_diffusers_utils import ( ) from sglang.multimodal_gen.runtime.utils.logging_utils import init_logger from sglang.multimodal_gen.utils import PRECISION_TO_TYPE +from sglang.srt.environ import envs logger = init_logger(__name__) @@ -126,6 +127,9 @@ class TextEncoderLoader(ComponentLoader): f"Cannot find any model weights with `{model_name_or_path}`" ) + if envs.SGLANG_SORT_WEIGHT_FILES.get(): + hf_weights_files.sort() + return hf_folder, hf_weights_files, use_safetensors def _get_weights_iterator( diff --git a/python/sglang/srt/environ.py b/python/sglang/srt/environ.py index 1433977ef..fd828bf77 100644 --- a/python/sglang/srt/environ.py +++ b/python/sglang/srt/environ.py @@ -161,6 +161,7 @@ class Envs: # Model & File Download SGLANG_USE_MODELSCOPE = EnvBool(False) + SGLANG_SORT_WEIGHT_FILES = EnvBool(False) SGLANG_DISABLED_MODEL_ARCHS = EnvTuple(tuple()) # Logging Options diff --git a/python/sglang/srt/model_loader/loader.py b/python/sglang/srt/model_loader/loader.py index da5c315af..3edcf14bd 100644 --- a/python/sglang/srt/model_loader/loader.py +++ b/python/sglang/srt/model_loader/loader.py @@ -469,6 +469,9 @@ class DefaultModelLoader(BaseModelLoader): f"Cannot find any model weights with `{model_name_or_path}`" ) + if envs.SGLANG_SORT_WEIGHT_FILES.get(): + hf_weights_files.sort() + return hf_folder, hf_weights_files, use_safetensors def _get_weights_iterator(