A high-throughput and memory-efficient inference and serving engine for LLMs
[Bugfix] Fix NixlEPAll2AllManager's dependency on --enable-elastic-ep to function (#44422)
Signed-off-by: fangyuchu <fangyuchu@qq.com> Co-authored-by: Tyler Michael Smith <tyler@neuralmagic.com>
fangyuchu committed
Jun 11, 2026 at 23:14 UTC
23eb7c8fbb7a07d69d10d340db226ee6042a2b02
1 file changed
+7
-1
vllm/distributed/device_communicators/all2all.py
+7
-1
@@ -9,6 +9,7 @@ import torch.distributed as dist
9
10
import vllm.envs as envs
11
from vllm.distributed import get_dp_group, get_ep_group
12
+from vllm.distributed.utils import StatelessProcessGroup
13
from vllm.forward_context import get_forward_context
14
from vllm.logger import init_logger
15
from vllm.utils.flashinfer import (
@@ -342,7 +343,12 @@ class NixlEPAll2AllManager(All2AllManagerBase):
343
_lock = threading.RLock()
344
345
def __init__(self, cpu_group, tcp_store_group=None):
345
- assert tcp_store_group is not None
346
+ if tcp_store_group is None:
347
+ tcp_store_group = StatelessProcessGroup(
348
+ rank=cpu_group.rank(),
349
+ world_size=cpu_group.size(),
350
+ store=dist.PrefixStore("nixl_ep", cpu_group.get_group_store()),
351
+ )
352
super().__init__(cpu_group, tcp_store_group)
353
354
self.max_num_ep_ranks = envs.VLLM_NIXL_EP_MAX_NUM_RANKS