[A2A] Allow EPLB + SharedExpert Overlap + DeepEPv2 (#57236)
Signed-off-by: Robert Shaw <robshaw@redhat.com> Signed-off-by: Robert Shaw <robertgshaw2@gmail.com> Co-authored-by: Robert Shaw <robshaw@redhat.com>
Robert Shaw committed
Sep 17, 2026 at 00:02 UTC
c38f92aae7878926ff309dc05f584690429e6912
2 files changed
+5
vllm/distributed/device_communicators/all2all.py
+4
@@ -1,5 +1,6 @@
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
+import os
4
import threading
5
from collections.abc import Iterator
6
from contextlib import contextmanager
@@ -1048,6 +1049,9 @@ class DeepEPV2All2AllManager(All2AllManagerBase):
1049
# missing GIN support.
1050
probe = torch.zeros(1, device="cuda")
1051
torch.distributed.all_reduce(probe, group=group)
1052
+ # DeepEPv2 respects EP_DISABLE_GIN, so skip the GIN requirement check.
1053
+ if os.environ.get("EP_DISABLE_GIN", "0") != "0":
1054
+ return
1055
1056
gin_type = query_nccl_gin_type(group)
1057
if gin_type is None:
vllm/model_executor/layers/fused_moe/runner/shared_experts.py
+1
@@ -85,6 +85,7 @@ class SharedExperts(torch.nn.Module):
85
# Both these comm backends have been shown to be safe for shared expert overlap.
86
_EPLB_OVERLAP_SAFE_BACKENDS = (
87
"allgather_reducescatter",
88
+ "deepep_v2",
89
"flashinfer_nvlink_one_sided",
90
)
91