[MoE] enable all2all fi_one_sided by default (#53311)
Signed-off-by: Artem Perevedentsev <aperevedents@nvidia.com>
Artem Perevedentsev committed
Aug 26, 2026 at 15:03 UTC
2cd6c664c1ec050328a33be5a8b8167605663536
2 files changed
+7
-3
vllm/config/parallel.py
+3
-3
@@ -192,7 +192,7 @@ class ParallelConfig:
192
with 4 experts and 2 ranks, rank 0 will have experts [0, 2] and rank 1
193
will have experts [1, 3]. This strategy can help improve load balancing
194
for grouped expert models with no redundant experts."""
195
- all2all_backend: All2AllBackend = "allgather_reducescatter"
195
+ all2all_backend: All2AllBackend = "flashinfer_nvlink_one_sided"
196
"""All2All backend for MoE expert parallel communication. Available options:
197
198
- "allgather_reducescatter": All2all based on allgather and reducescatter
@@ -201,8 +201,8 @@ class ParallelConfig:
201
- "mori_high_throughput": MoRI EP with InterNodeV1 for multi-node
202
- "mori_low_latency": MoRI EP with InterNodeV1LL for multi-node
203
- "nixl_ep": Use nixl-ep kernels
204
- - "flashinfer_nvlink_two_sided": Use flashinfer two-sided kernels for mnnvl
205
- - "flashinfer_nvlink_one_sided": Use flashinfer high-throughput a2a kernels"""
204
+ - "flashinfer_nvlink_one_sided": Use flashinfer high-throughput a2a kernels
205
+ - "flashinfer_nvlink_two_sided": Use flashinfer two-sided kernels for mnnvl"""
206
207
max_parallel_loading_workers: int | None = Field(default=None, ge=1)
208
"""Maximum number of parallel loading workers when loading model
vllm/distributed/device_communicators/all2all.py
+4
@@ -815,6 +815,10 @@ class FlashInferNVLinkOneSidedManager(All2AllManagerBase):
815
comm_backend=CustomCommunicator(self.cpu_group),
816
)
817
818
+ # Release cached allocator blocks before FlashInfer reserves the
819
+ # symmetric MNNVL fabric workspace.
820
+ torch.accelerator.empty_cache()
821
+
822
self.moe_alltoall = MoeAlltoAll(
823
mapping=self.mapping,
824
max_num_tokens=self.max_num_tokens,