mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[GH-ISSUE #112] Why topk_weights not used during combine stage except low latency version? #101
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepEP#101
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dearsxx0918 on GitHub (Apr 7, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/112
Hi,
I'm confused by the different combine stage behavior. In low latency version, we have this line:
github.com/deepseek-ai/DeepEP@42494864ba/csrc/kernels/internode_ll.cu (L482)Do weights multiplies token content. But for other cases, I haven't found any weights used. Do I missed something here?
Best regards,
@LyricZhao commented on GitHub (Apr 8, 2025):
For normal kernels, the kernel requires you to multiple
topk_weightsbeforecombine. As normal kernels usually do small EP like 16/32/64, a token may select more than 1 expert in a GPU, so a reduction kernel (fused withtopk_weightsmultiplication) is required beforecombineto save bandwidth.For low-latency kernels, usually 1 token will not select more than 1 expert in a GPU, so no reduction and
topk_weightsis used withcombine.@dearsxx0918 commented on GitHub (Apr 8, 2025):
Thanks for you quickly reply!