From e9a15b95da4463a6558760c9526893220ec6b2c8 Mon Sep 17 00:00:00 2001 From: Jimmy Shong <69131491+Jiminator@users.noreply.github.com> Date: Sun, 10 May 2026 20:04:52 -0500 Subject: [PATCH] [Fix] Disable FlashInfer allreduce fusion under deterministic inference (#24629) --- python/sglang/srt/server_args.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/python/sglang/srt/server_args.py b/python/sglang/srt/server_args.py index a2007958c..91631cc3f 100644 --- a/python/sglang/srt/server_args.py +++ b/python/sglang/srt/server_args.py @@ -890,6 +890,12 @@ class ServerArgs: # Handle memory-related, chunked prefill, and CUDA graph batch size configurations. self._handle_gpu_memory_settings(gpu_mem) + # enforce_disable_flashinfer_allreduce_fusion must be set before + # _handle_model_specific_adjustments, which auto-enables the fusion + # for several SM90/SM100 MoE arches. + if self.enable_deterministic_inference: + self.enforce_disable_flashinfer_allreduce_fusion = True + # Apply model-specific adjustments. self._handle_model_specific_adjustments() @@ -4078,6 +4084,12 @@ class ServerArgs: ) self.enable_aiter_allreduce_fusion = False + if self.enable_flashinfer_allreduce_fusion: + logger.warning( + "Disable --enable-flashinfer-allreduce-fusion because deterministic inference is enabled." + ) + self.enable_flashinfer_allreduce_fusion = False + # Check sampling backend self.sampling_backend = "pytorch" logger.warning(