[Bugfix][MoE] Write Humming results to the supplied output buffer (#50338)

Signed-off-by: Netanel Haber <58652339+netanel-haber@users.noreply.github.com> Co-authored-by: OpenAI Codex <noreply@openai.com>

Netanel Haber committed Jul 30, 2026 at 21:34 UTC 61cacd272f5a95aa2a091d711ed91a4aa85522d5
1 file changed +3 -12
vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py
+3 -12
@@ -662,12 +662,9 @@ class HummingIndexedExperts(HummingExpertsBase):
662 topk_weights=topk_weights,
663 topk_ids=topk_ids,
664 expert_map=expert_map,
665 - outputs=buffers["output"],
665 + outputs=output,
666 )
667
668 - # Note: output is already written to buffers["output"]
669 - # which aliases workspace13/output
670 -
668
669 class HummingGroupedExperts(HummingExpertsBase):
670 def finalize_weight_and_reduce_impl(self) -> mk.TopKWeightAndReduce:
@@ -777,16 +774,13 @@ class HummingGroupedExperts(HummingExpertsBase):
774 )
775
776 moe_unpermute(
780 - out=buffers["output"],
777 + out=output,
778 permuted_hidden_states=buffers["down_output"].view(*topk_ids.shape, -1),
779 topk_weights=topk_weights,
780 inv_permuted_idx=inv_perm,
781 expert_first_token_offset=expert_first_token_offset,
782 )
783
787 - # Note: output is already written to buffers["output"]
788 - # which aliases workspace13/output
789 -
784
785 class BatchedHummingGroupedExperts(HummingExpertsBase):
786 def finalize_weight_and_reduce_impl(self) -> mk.TopKWeightAndReduce:
@@ -880,13 +874,10 @@ class BatchedHummingGroupedExperts(HummingExpertsBase):
874 layer=self.layer,
875 inputs=inputs,
876 input_scale=input_scale,
883 - outputs=buffers["down_output"].view(-1, hidden_states.size(-1)),
877 + outputs=output.view(-1, hidden_states.size(-1)),
878 valid_shape_m=valid_shape_m,
879 expert_layout=expert_num_tokens,
880 compute_config=self.compute_config_str,
881 tuning_config=self.w2_tuning_config_str,
882 sublayer_name="w2",
883 )
890 -
891 - # Note: output is already written to buffers["down_output"]
892 - # which aliases workspace13/output