@@ -68,18 +68,31 @@ def make_client(
6868 "is not currently supported." )
6969
7070 if multiprocess_mode and asyncio_mode :
71- if vllm_config .parallel_config .data_parallel_size > 1 :
72- if vllm_config .parallel_config .data_parallel_backend == "ray" :
73- return RayDPClient (vllm_config , executor_class , log_stats )
74- return DPAsyncMPClient (vllm_config , executor_class , log_stats )
75-
76- return AsyncMPClient (vllm_config , executor_class , log_stats )
71+ return EngineCoreClient .make_async_mp_client (
72+ vllm_config , executor_class , log_stats )
7773
7874 if multiprocess_mode and not asyncio_mode :
7975 return SyncMPClient (vllm_config , executor_class , log_stats )
8076
8177 return InprocClient (vllm_config , executor_class , log_stats )
8278
79+ @staticmethod
80+ def make_async_mp_client (
81+ vllm_config : VllmConfig ,
82+ executor_class : type [Executor ],
83+ log_stats : bool ,
84+ client_addresses : Optional [dict [str , str ]] = None ,
85+ client_index : int = 0 ,
86+ ) -> "MPClient" :
87+ if vllm_config .parallel_config .data_parallel_size > 1 :
88+ if vllm_config .parallel_config .data_parallel_backend == "ray" :
89+ return RayDPClient (vllm_config , executor_class , log_stats ,
90+ client_addresses , client_index )
91+ return DPAsyncMPClient (vllm_config , executor_class , log_stats ,
92+ client_addresses , client_index )
93+ return AsyncMPClient (vllm_config , executor_class , log_stats ,
94+ client_addresses , client_index )
95+
8396 @abstractmethod
8497 def shutdown (self ):
8598 ...
0 commit comments