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 12, 18:30 UTC
[Log] Optimize startup log (#28948)
Signed-off-by: yewentao256 <zhyanwentao@126.com> Signed-off-by: Wentao Ye <44945378+yewentao256@users.noreply.github.com> Co-authored-by: Nick Hill <nhill@redhat.com>
Wentao Ye committed
Nov 21, 2025 at 11:46 UTC
a42ab317acff8c4b7d4808bb34548a530ee04f0f
4 files changed
+26
-18
vllm/model_executor/layers/fused_moe/fused_moe.py
+4
-2
@@ -872,8 +872,10 @@ def get_moe_configs(
872
for config_file_path in config_file_paths:
873
if os.path.exists(config_file_path):
874
with open(config_file_path) as f:
875
- logger.info(
876
- "Using configuration from %s for MoE layer.", config_file_path
875
+ logger.info_once(
876
+ "Using configuration from %s for MoE layer.",
877
+ config_file_path,
878
+ scope="global",
879
)
880
# If a configuration has been found, return it
881
tuned_config = json.load(f)
vllm/model_executor/layers/quantization/fp8.py
+7
-3
@@ -162,9 +162,11 @@ def get_fp8_moe_backend(block_quant: bool) -> Fp8MoeBackend:
162
# deepGEMM on supported platforms with block-quantized weights
163
if envs.VLLM_USE_DEEP_GEMM and envs.VLLM_MOE_USE_DEEP_GEMM and block_quant:
164
if not has_deep_gemm():
165
- logger.warning_once("DeepGEMM backend requested but not available.")
165
+ logger.warning_once(
166
+ "DeepGEMM backend requested but not available.", scope="local"
167
+ )
168
elif is_deep_gemm_supported():
167
- logger.info_once("Using DeepGEMM backend for FP8 MoE")
169
+ logger.info_once("Using DeepGEMM backend for FP8 MoE", scope="local")
170
return Fp8MoeBackend.DEEPGEMM
171
172
# CUTLASS BlockScaled GroupedGemm on SM100 with block-quantized weights
@@ -173,7 +175,9 @@ def get_fp8_moe_backend(block_quant: bool) -> Fp8MoeBackend:
175
and current_platform.is_device_capability(100)
176
and block_quant
177
):
176
- logger.info_once("Using Cutlass BlockScaled GroupedGemm backend for FP8 MoE")
178
+ logger.info_once(
179
+ "Using Cutlass BlockScaled GroupedGemm backend for FP8 MoE", scope="local"
180
+ )
181
return Fp8MoeBackend.CUTLASS_BLOCK_SCALED_GROUPED_GEMM
182
183
# default to Triton
vllm/profiler/gpu_profiler.py
+13
-12
@@ -139,18 +139,19 @@ class TorchProfilerWrapper(WorkerProfiler):
139
140
self.local_rank = local_rank
141
torch_profiler_trace_dir = envs.VLLM_TORCH_PROFILER_DIR
142
- logger.info(
143
- "Torch profiling enabled. Traces will be saved to: %s",
144
- torch_profiler_trace_dir,
145
- )
146
- logger.debug(
147
- "Profiler config: record_shapes=%s,"
148
- "profile_memory=%s,with_stack=%s,with_flops=%s",
149
- envs.VLLM_TORCH_PROFILER_RECORD_SHAPES,
150
- envs.VLLM_TORCH_PROFILER_WITH_PROFILE_MEMORY,
151
- envs.VLLM_TORCH_PROFILER_WITH_STACK,
152
- envs.VLLM_TORCH_PROFILER_WITH_FLOPS,
153
- )
142
+ if local_rank in (None, 0):
143
+ logger.info(
144
+ "Torch profiling enabled. Traces will be saved to: %s",
145
+ torch_profiler_trace_dir,
146
+ )
147
+ logger.debug(
148
+ "Profiler config: record_shapes=%s,"
149
+ "profile_memory=%s,with_stack=%s,with_flops=%s",
150
+ envs.VLLM_TORCH_PROFILER_RECORD_SHAPES,
151
+ envs.VLLM_TORCH_PROFILER_WITH_PROFILE_MEMORY,
152
+ envs.VLLM_TORCH_PROFILER_WITH_STACK,
153
+ envs.VLLM_TORCH_PROFILER_WITH_FLOPS,
154
+ )
155
self.profiler = torch.profiler.profile(
156
activities=[
157
torch.profiler.ProfilerActivity.CPU,
vllm/v1/core/kv_cache_utils.py
+2
-1
@@ -1236,10 +1236,11 @@ def _report_kv_cache_config(
1236
max_concurrency = get_max_concurrency_for_kv_cache_config(
1237
vllm_config, kv_cache_config
1238
)
1239
- logger.info(
1239
+ logger.info_once(
1240
"Maximum concurrency for %s tokens per request: %.2fx",
1241
max_model_len_str,
1242
max_concurrency,
1243
+ scope="local",
1244
)
1245
1246