Revert "[DeepSeek V3] Run routed experts on main stream in dual-stream MoE" (#29452)

This commit is contained in:
Cheng Wan
2026-06-26 13:59:36 -07:00
committed by GitHub
parent ee77a7d330
commit 7b02eab7a6
+8 -10
View File
@@ -927,12 +927,16 @@ class DeepseekV2MoE(nn.Module):
) -> torch.Tensor: ) -> torch.Tensor:
current_stream = torch.cuda.current_stream() current_stream = torch.cuda.current_stream()
self.alt_stream.wait_stream(current_stream) self.alt_stream.wait_stream(current_stream)
shared_output = self._forward_shared_experts(
hidden_states, gemm_output_zero_allocator
)
server_args = get_global_server_args() server_args = get_global_server_args()
dispatch_info = ( dispatch_info = (
ExpertLocationDispatchInfo.init_new(layer_id=self.layer_id) ExpertLocationDispatchInfo.init_new(layer_id=self.layer_id)
if server_args.enable_eplb if server_args.enable_eplb
else None else None
) )
with torch.cuda.stream(self.alt_stream):
# router_logits: (num_tokens, n_experts) # router_logits: (num_tokens, n_experts)
router_logits = self.gate(hidden_states, gemm_output_zero_allocator) router_logits = self.gate(hidden_states, gemm_output_zero_allocator)
if use_flashinfer_trtllm_bypass: if use_flashinfer_trtllm_bypass:
@@ -953,11 +957,8 @@ class DeepseekV2MoE(nn.Module):
expert_location_dispatch_info=dispatch_info, expert_location_dispatch_info=dispatch_info,
**topk_kwargs, **topk_kwargs,
) )
has_shared_output = (
hidden_states.shape[0] > 0 and self.num_fused_shared_experts == 0
)
deferred_finalize = ( deferred_finalize = (
has_shared_output shared_output is not None
and not self._shared_expert_tp1 and not self._shared_expert_tp1
and topk_output.format == TopKOutputFormat.BYPASSED and topk_output.format == TopKOutputFormat.BYPASSED
and self.experts.supports_deferred_finalize and self.experts.supports_deferred_finalize
@@ -967,7 +968,9 @@ class DeepseekV2MoE(nn.Module):
hidden_states, topk_output hidden_states, topk_output
) )
elif use_flashinfer_trtllm_bypass: elif use_flashinfer_trtllm_bypass:
final_hidden_states = self.experts.forward_impl(hidden_states, topk_output) final_hidden_states = self.experts.forward_impl(
hidden_states, topk_output
)
else: else:
final_hidden_states = self.experts(hidden_states, topk_output) final_hidden_states = self.experts(hidden_states, topk_output)
if ( if (
@@ -978,11 +981,6 @@ class DeepseekV2MoE(nn.Module):
): ):
final_hidden_states *= self.routed_scaling_factor final_hidden_states *= self.routed_scaling_factor
with torch.cuda.stream(self.alt_stream):
shared_output = self._forward_shared_experts(
hidden_states, gemm_output_zero_allocator
)
current_stream.wait_stream(self.alt_stream) current_stream.wait_stream(self.alt_stream)
if deferred_finalize: if deferred_finalize: