mirror of
https://github.com/vllm-project/vllm.git
synced 2026-08-21 13:10:19 +00:00
[Bugfix] Disable allreduce_rms_fusion when pipeline_parallel_size > 1 (#43616)
Signed-off-by: zixi-qi <[email protected]> Co-authored-by: Claude <[email protected]>
This commit is contained in:
+8
-1
@@ -121,7 +121,13 @@ def enable_act_fusion(cfg: "VllmConfig") -> bool:
|
||||
|
||||
|
||||
def enable_allreduce_rms_fusion(cfg: "VllmConfig") -> bool:
|
||||
"""Enable if TP > 1 and Hopper/Blackwell and flashinfer installed."""
|
||||
"""Enable if TP > 1, PP == 1, Hopper/Blackwell, and flashinfer installed.
|
||||
|
||||
Gated off for PP > 1: the fused op's GPU-side peer-signal spin-wait
|
||||
assumes byte-identical kernel launches across TP peers, but concurrent
|
||||
independent warmup of multiple TP subgroups lets ranks pick divergent
|
||||
FlashInfer launch configs and deadlock.
|
||||
"""
|
||||
from vllm.platforms import current_platform
|
||||
from vllm.utils.flashinfer import has_flashinfer
|
||||
|
||||
@@ -134,6 +140,7 @@ def enable_allreduce_rms_fusion(cfg: "VllmConfig") -> bool:
|
||||
|
||||
return (
|
||||
cfg.parallel_config.tensor_parallel_size > 1
|
||||
and cfg.parallel_config.pipeline_parallel_size == 1
|
||||
and current_platform.is_cuda()
|
||||
and has_flashinfer()
|
||||
and (
|
||||
|
||||
Reference in New Issue
Block a user