[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