[Perf] Cap diffusion worker thread count before spawn (#6165)
Signed-off-by: zjli2013 <leezhengjiang@126.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
8a5bf2fb3f
commit
5d50bdc2ab
1 file changed
+5
@@ -18,6 +18,7 @@ import zmq
|
||||
from vllm.distributed.device_communicators.shm_broadcast import Handle, MessageQueue
|
||||
from vllm.logger import init_logger
|
||||
from vllm.v1.engine.exceptions import EngineDeadError
|
||||
from vllm.v1.executor.multiproc_executor import set_multiprocessing_worker_envs
|
||||
|
||||
from vllm_omni.diffusion.data import SHUTDOWN_MESSAGE, AsyncDiffusionOutput, AsyncOutputKind, DiffusionOutput
|
||||
from vllm_omni.diffusion.executor.abstract import DiffusionExecutor
|
||||
@@ -294,6 +295,10 @@ class MultiprocDiffusionExecutor(DiffusionExecutor):
|
||||
logger.info("Starting server...")
|
||||
|
||||
num_gpus = cast(int, od_config.num_gpus)
|
||||
# Without this, every worker inherits one Torch thread per core, so an
|
||||
# N-GPU run oversubscribes the host by N x core_count. Honours a
|
||||
# user-provided OMP_NUM_THREADS.
|
||||
set_multiprocessing_worker_envs()
|
||||
mp.set_start_method("spawn", force=True)
|
||||
processes = []
|
||||
|
||||
|
||||
Reference in new issue
Block a user