[UX] Add --performance-mode {balanced,interactivity,throughput} (#34936)

Signed-off-by: mgoin <mgoin64@gmail.com>
This commit is contained in:
Michael Goin
2026-02-25 20:28:31 -05:00
committed by GitHub
parent 6831650c40
commit cbf8f7028c
2 changed files with 37 additions and 5 deletions

View File

@@ -89,7 +89,7 @@ from vllm.config.parallel import (
)
from vllm.config.scheduler import SchedulerPolicy
from vllm.config.utils import get_field
from vllm.config.vllm import OptimizationLevel
from vllm.config.vllm import OptimizationLevel, PerformanceMode
from vllm.logger import init_logger, suppress_logging
from vllm.platforms import CpuArchEnum, current_platform
from vllm.plugins import load_general_plugins
@@ -596,6 +596,7 @@ class EngineArgs:
kv_sharing_fast_prefill: bool = CacheConfig.kv_sharing_fast_prefill
optimization_level: OptimizationLevel = VllmConfig.optimization_level
performance_mode: PerformanceMode = VllmConfig.performance_mode
kv_offloading_size: float | None = CacheConfig.kv_offloading_size
kv_offloading_backend: KVOffloadingBackend = CacheConfig.kv_offloading_backend
@@ -1264,6 +1265,7 @@ class EngineArgs:
vllm_group.add_argument(
"--optimization-level", **vllm_kwargs["optimization_level"]
)
vllm_group.add_argument("--performance-mode", **vllm_kwargs["performance_mode"])
vllm_group.add_argument(
"--weight-transfer-config", **vllm_kwargs["weight_transfer_config"]
)
@@ -1894,6 +1896,7 @@ class EngineArgs:
profiler_config=self.profiler_config,
additional_config=self.additional_config,
optimization_level=self.optimization_level,
performance_mode=self.performance_mode,
weight_transfer_config=self.weight_transfer_config,
)
@@ -2110,6 +2113,13 @@ class EngineArgs:
SchedulerConfig.DEFAULT_MAX_NUM_SEQS,
)
# If throughput mode is set, double max_num_batched_tokens and max_num_seqs.
if self.performance_mode == "throughput":
if orig_max_num_batched_tokens is None:
self.max_num_batched_tokens *= 2
if orig_max_num_seqs is None:
self.max_num_seqs *= 2
if orig_max_num_batched_tokens is None:
assert model_config.max_model_len is not None, (
"max_model_len must be set by this point"