@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 0788ff0a15
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 7, 19:00 UTC

[Bugfix] Gracefully disable AllReduceFusionPass on GPUs without multicast support (#35085)

Signed-off-by: haosdent <haosdent@gmail.com>

haosdent committed Feb 25, 2026 at 23:31 UTC 0788ff0a153c6eb6436743d717b31c863c987761
1 file changed +20 -8
vllm/compilation/passes/fusion/allreduce_rms_fusion.py
+20 -8
@@ -729,14 +729,26 @@ class AllReduceFusionPass(VllmPatternMatcherPass):
729 scope="global",
730 )
731
732 - self.workspace = flashinfer_comm.create_allreduce_fusion_workspace(
733 - backend="trtllm",
734 - world_size=self.tp_size,
735 - rank=rank,
736 - max_token_num=self.max_token_num,
737 - hidden_dim=self.hidden_dim,
738 - dtype=self.model_dtype,
739 - )
732 + try:
733 + self.workspace = flashinfer_comm.create_allreduce_fusion_workspace(
734 + backend="trtllm",
735 + world_size=self.tp_size,
736 + rank=rank,
737 + max_token_num=self.max_token_num,
738 + hidden_dim=self.hidden_dim,
739 + dtype=self.model_dtype,
740 + )
741 + except RuntimeError as e:
742 + if "multicast" not in str(e).lower():
743 + raise
744 + logger.warning_once(
745 + "AllReduce fusion pass is disabled: flashinfer workspace "
746 + "creation failed: %s. This is expected on GPUs without "
747 + "NVSwitch (e.g., NVLink bridge-only or PCIe topologies). "
748 + "Falling back to non-fused allreduce.",
749 + str(e),
750 + )
751 + return
752
753 global _FI_WORKSPACE
754 _FI_WORKSPACE = self.workspace