From 3d42b7e7b02517391799e26de0bf790bc914460c Mon Sep 17 00:00:00 2001 From: Yuhao Yang <47235274+yhyang201@users.noreply.github.com> Date: Thu, 18 Dec 2025 12:28:06 +0800 Subject: [PATCH] unified management of environment variables for vlm cuda ipc transport (#14501) --- python/sglang/srt/environ.py | 5 +++++ .../srt/multimodal/processors/base_processor.py | 12 +++--------- python/sglang/srt/utils/cuda_ipc_transport_utils.py | 12 +++--------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/python/sglang/srt/environ.py b/python/sglang/srt/environ.py index db7f667dd..417b9d378 100644 --- a/python/sglang/srt/environ.py +++ b/python/sglang/srt/environ.py @@ -330,6 +330,11 @@ class Envs: SGLANG_RESIZE_RESAMPLE = EnvStr("") SGLANG_MM_BUFFER_SIZE_MB = EnvInt(0) + # VLM Item CUDA IPC Transport + SGLANG_USE_CUDA_IPC_TRANSPORT=EnvBool(False) + SGLANG_MM_FEATURE_CACHE_MB = EnvInt(4 * 1024) + SGLANG_MM_ITEM_MEM_POOL_RECYCLE_INTERVAL_SEC = EnvFloat(0.05) + # Release & Resume Memory SGLANG_MEMORY_SAVER_CUDA_GRAPH = EnvBool(False) diff --git a/python/sglang/srt/multimodal/processors/base_processor.py b/python/sglang/srt/multimodal/processors/base_processor.py index 6553178e6..3eeabefb1 100644 --- a/python/sglang/srt/multimodal/processors/base_processor.py +++ b/python/sglang/srt/multimodal/processors/base_processor.py @@ -12,15 +12,9 @@ import torch from PIL import Image from transformers import BaseImageProcessorFast +from sglang.srt.environ import envs from sglang.srt.managers.schedule_batch import Modality, MultimodalDataItem -from sglang.srt.utils import ( - get_bool_env_var, - is_npu, - load_audio, - load_image, - load_video, - logger, -) +from sglang.srt.utils import is_npu, load_audio, load_image, load_video, logger from sglang.srt.utils.cuda_ipc_transport_utils import ( MM_FEATURE_CACHE_SIZE, MM_ITEM_MEMORY_POOL_RECYCLE_INTERVAL, @@ -30,7 +24,7 @@ from sglang.srt.utils.cuda_ipc_transport_utils import ( _is_npu = is_npu() -SGL_USE_CUDA_IPC = get_bool_env_var("SGLANG_USE_CUDA_IPC_TRANSPORT") +SGL_USE_CUDA_IPC = envs.SGLANG_USE_CUDA_IPC_TRANSPORT.get() @dataclasses.dataclass diff --git a/python/sglang/srt/utils/cuda_ipc_transport_utils.py b/python/sglang/srt/utils/cuda_ipc_transport_utils.py index 268bb57a9..6d76242ae 100644 --- a/python/sglang/srt/utils/cuda_ipc_transport_utils.py +++ b/python/sglang/srt/utils/cuda_ipc_transport_utils.py @@ -8,21 +8,15 @@ from typing import Tuple import numpy as np import torch +from sglang.srt.environ import envs from sglang.srt.server_args import get_global_server_args -from sglang.srt.utils import get_float_env_var, get_int_env_var logger = logging.getLogger(__name__) -MM_FEATURE_CACHE_SIZE = ( - 4 * 1024 * 1024 * 1024 - if not get_int_env_var("SGLANG_MM_FEATURE_CACHE_MB") - else get_int_env_var("SGLANG_MM_FEATURE_CACHE_MB") * 1024 * 1024 -) +MM_FEATURE_CACHE_SIZE = envs.SGLANG_MM_FEATURE_CACHE_MB.get() * 1024 * 1024 MM_ITEM_MEMORY_POOL_RECYCLE_INTERVAL = ( - 0.05 - if not get_float_env_var("SGLANG_MM_ITEM_MEM_POOL_RECYCLE_INTERVAL_SEC") - else get_float_env_var("SGLANG_MM_ITEM_MEM_POOL_RECYCLE_INTERVAL_SEC") + envs.SGLANG_MM_ITEM_MEM_POOL_RECYCLE_INTERVAL_SEC.get() ) SHM_LOCK_FILE = "/tmp/shm_wr_lock.lock"