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