A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 05:30 UTC
[Log] Optimize Startup Log (#26601)
Signed-off-by: yewentao256 <zhyanwentao@126.com>
Wentao Ye committed
Oct 13, 2025 at 14:06 UTC
e251e457c5848309ba62c1f772d4d7d218ee1dbc
6 files changed
+17
-16
vllm/distributed/device_communicators/cuda_communicator.py
+7
-6
@@ -13,6 +13,7 @@ from vllm.distributed.device_communicators.pynccl import register_nccl_symmetric
13
from vllm.distributed.device_communicators.pynccl_allocator import (
14
is_symmetric_memory_enabled,
15
)
16
+from vllm.distributed.parallel_state import is_global_first_rank
17
from vllm.logger import init_logger
18
from vllm.platforms import current_platform
19
@@ -95,35 +96,35 @@ class CudaCommunicator(DeviceCommunicatorBase):
96
from .all2all import NaiveAll2AllManager
97
98
self.all2all_manager = NaiveAll2AllManager(self.cpu_group)
98
- logger.info("Using naive all2all manager.")
99
elif all2all_backend == "allgather_reducescatter":
100
from .all2all import AgRsAll2AllManager
101
102
self.all2all_manager = AgRsAll2AllManager(self.cpu_group)
103
- logger.info("Using AllGather-ReduceScatter all2all manager.")
103
elif all2all_backend == "pplx":
104
from .all2all import PPLXAll2AllManager
105
106
self.all2all_manager = PPLXAll2AllManager(self.cpu_group)
108
- logger.info("Using PPLX all2all manager.")
107
elif all2all_backend == "deepep_high_throughput":
108
from .all2all import DeepEPHTAll2AllManager
109
110
self.all2all_manager = DeepEPHTAll2AllManager(self.cpu_group)
113
- logger.info("Using DeepEP High-Throughput all2all manager.")
111
elif all2all_backend == "deepep_low_latency":
112
from .all2all import DeepEPLLAll2AllManager
113
114
self.all2all_manager = DeepEPLLAll2AllManager(self.cpu_group)
118
- logger.info("Using DeepEP Low-Latency all2all manager.")
115
elif all2all_backend == "flashinfer_all2allv":
116
from .all2all import FlashInferAllToAllManager
117
118
self.all2all_manager = FlashInferAllToAllManager(self.cpu_group)
123
- logger.info("Using Flashinfer all2allv manager.")
119
else:
120
raise ValueError(f"Unknown all2all backend: {all2all_backend}")
121
122
+ if is_global_first_rank():
123
+ logger.info(
124
+ "Using %s all2all manager.",
125
+ self.all2all_manager.__class__.__name__,
126
+ )
127
+
128
def all_reduce(self, input_):
129
# since currently we perform copy input -> symm_input -> out-of-place AR
130
# return symm_output, we don't need to check if input is symmetric
vllm/distributed/device_communicators/pynccl.py
+1
-2
@@ -105,11 +105,10 @@ class PyNcclCommunicator:
105
self.disabled = False
106
107
self.nccl_version = self.nccl.ncclGetRawVersion()
108
- logger.info("vLLM is using nccl==%s", self.nccl.ncclGetVersion())
109
-
108
if self.rank == 0:
109
# get the unique id from NCCL
110
self.unique_id = self.nccl.ncclGetUniqueId()
111
+ logger.info("vLLM is using nccl==%s", self.nccl.ncclGetVersion())
112
else:
113
# construct an empty unique id
114
self.unique_id = ncclUniqueId()
vllm/utils/__init__.py
+1
-1
@@ -1144,7 +1144,7 @@ def find_nccl_library() -> str:
1144
so_file = "librccl.so.1"
1145
else:
1146
raise ValueError("NCCL only supports CUDA and ROCm backends.")
1147
- logger.info("Found nccl from library %s", so_file)
1147
+ logger.debug_once("Found nccl from library %s", so_file)
1148
return so_file
1149
1150
vllm/v1/attention/backends/mla/cutlass_mla.py
+1
-1
@@ -139,7 +139,7 @@ class CutlassMLAImpl(MLACommonImpl[MLACommonMetadata]):
139
# FORCE_NUM_KV_SPLITS=1
140
force_num_kv_splits = os.environ.get("FORCE_NUM_KV_SPLITS", None)
141
if force_num_kv_splits:
142
- logger.warning_once("Forcing num_kv_splits to %d", int(force_num_kv_splits))
142
+ logger.debug_once("Forcing num_kv_splits to %d", int(force_num_kv_splits))
143
self._num_kv_splits = int(force_num_kv_splits)
144
else:
145
self._num_kv_splits = -1 # => Auto-detect
vllm/v1/engine/core.py
+7
-5
@@ -19,6 +19,7 @@ import zmq
19
20
from vllm.config import ParallelConfig, VllmConfig
21
from vllm.distributed import stateless_destroy_torch_distributed_process_group
22
+from vllm.distributed.parallel_state import is_global_first_rank
23
from vllm.logger import init_logger
24
from vllm.logging_utils.dump_input import dump_engine_exception
25
from vllm.lora.request import LoRARequest
@@ -91,11 +92,12 @@ class EngineCore:
92
load_general_plugins()
93
94
self.vllm_config = vllm_config
94
- logger.info(
95
- "Initializing a V1 LLM engine (v%s) with config: %s",
96
- VLLM_VERSION,
97
- vllm_config,
98
- )
95
+ if is_global_first_rank():
96
+ logger.info(
97
+ "Initializing a V1 LLM engine (v%s) with config: %s",
98
+ VLLM_VERSION,
99
+ vllm_config,
100
+ )
101
102
self.log_stats = log_stats
103
vllm/v1/worker/gpu_model_runner.py
-1
@@ -2876,7 +2876,6 @@ class GPUModelRunner(LoRAModelRunnerMixin, KVConnectorModelRunnerMixin):
2876
with DeviceMemoryProfiler() as m:
2877
time_before_load = time.perf_counter()
2878
model_loader = get_model_loader(self.load_config)
2879
- logger.info("Loading model from scratch...")
2879
self.model = model_loader.load_model(
2880
vllm_config=self.vllm_config, model_config=self.model_config
2881
)