mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[GH-ISSUE #636] [Question] Why is elastic dispatch limited to ~512 warps? #379
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#379
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 @lixingyii on GitHub (May 19, 2026).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/636
Hi, I have a question about the dispatch warp limit in the elastic dispatch path.
In
csrc/kernels/elastic/dispatch.hpp,num_dispatch_warpsis limited by:so the total number of dispatch/sender warps is kept around 512.
I tried removing this limit and observed that performance can degrade when using more SMs. For example, in a single-node NVLink setup (
Ranks: 1 x 8), increasingnum_smscaused dispatch bandwidth to drop instead of improve.Do you know the main reason for this 512-warp limit? Is it due to a specific bottleneck, such as TMA/proxy engine pressure, NVLink/L2 contention, atomic counter contention, grid synchronization overhead, or something else? Or was 512 chosen mainly as an empirical tuning value based on benchmarking?
Any insight would be appreciated. Thanks!