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 4, 17:30 UTC
[Bugfix] Fix DeepSeek V2-Lite Accuracy drop (#40673)
Signed-off-by: Bill Nell <bnell@redhat.com>
bnellnm committed
Apr 23, 2026 at 18:11 UTC
4a6dd1c3cc4aabae616977bbddf3d6c53e20204b
1 file changed
+9
-4
vllm/model_executor/layers/fused_moe/runner/moe_runner.py
+9
-4
@@ -335,11 +335,16 @@ class MoERunner(MoERunnerInterface):
335
"""All-reduce shared expert output when the combine kernel already
336
reduced fused output.
337
338
- This is the "early" all-reduce path. When the combine kernel produces
339
- already-reduced fused output, shared output must be reduced separately
340
- to match.
338
+ * If the combine kernel does the reduction for fused_output, reduce
339
+ shared_output separately. O.w, reduce fused_output+shared_output later.
340
+ * If we have SP (TP=N, DP=M, EP), there is a separate AG step handled
341
+ in the model.
342
"""
342
- if shared_output is not None and self._fused_output_is_reduced:
343
+ if (
344
+ shared_output is not None
345
+ and not self.moe_config.is_sequence_parallel
346
+ and self._fused_output_is_reduced
347
+ ):
348
shared_output = tensor_model_parallel_all_reduce(shared_output)
349
return shared_output
350