@@ -67,18 +67,31 @@ def make_client(
67
67
"is not currently supported." )
68
68
69
69
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 )
76
72
77
73
if multiprocess_mode and not asyncio_mode :
78
74
return SyncMPClient (vllm_config , executor_class , log_stats )
79
75
80
76
return InprocClient (vllm_config , executor_class , log_stats )
81
77
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
+
82
95
@abstractmethod
83
96
def shutdown (self ):
84
97
...
0 commit comments