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