[Core] Disable fuse_allreduce_rms under VLLM_BATCH_INVARIANT (non-deterministic under TP) (#51292)

Signed-off-by: Don Tolley <tolleybot@gmail.com> Signed-off-by: tolleybot <tolleybot@gmail.com> Co-authored-by: yewentao256 <yewentao256@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

Donald Tolley committed Aug 25, 2026 at 12:16 UTC 80771bbbddf9e5153eea3aca8055049ee5aaaed1
1 file changed +4
vllm/config/vllm.py
+4
@@ -183,6 +183,10 @@ def enable_allreduce_rms_fusion(cfg: "VllmConfig") -> bool:
183 from vllm.platforms import current_platform
184 from vllm.utils.flashinfer import has_flashinfer
185
186 + # The fused all-reduce + RMSNorm path is not batch-invariant
187 + if envs.VLLM_BATCH_INVARIANT:
188 + return False
189 +
190 if current_platform.is_rocm():
191 from vllm._aiter_ops import rocm_aiter_ops
192