[GH-ISSUE #513] [Question] Modifications to achieve concurrent dispatch and combine in low latency mode #332

Closed
opened 2026-10-26 09:58:43 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @tianr22 on GitHub (Dec 5, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/513

Hello!

Currently I am trying to use DeepEP to achieve three batch overlap, in which I need to issue the dispatch_send phase of batch 1 and combine_send phase of batch 0 concurrently.

I understand current implementation can not achieve this since we we only have 2 lowlatency buffer and will clean the metadata buffer(such as rdma_recv_flag_buffer) of the next buffer when we use one buffer to do actual send and recv. When dispatch_send and combine_send issue together, the later one will clean the metabuffer of former, which means the former operation may never finish recv(hang at checking the buffer value).

i wonder why u fuse the clean next buffer operation into dispatch/combine, instaed of a seperate kernel( for the consideration of performance?)
Can u give me some suggestions on how to achieve the concurrent dispatch and combine in low latency mode?

I thought one potential way was to clean the current metabuffer when recv kernel finishes. The kernel does nothing to the next buffer. But will there be some bug?

Thanks!

Originally created by @tianr22 on GitHub (Dec 5, 2025). Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/513 Hello! Currently I am trying to use DeepEP to achieve three batch overlap, in which I need to issue the dispatch_send phase of batch 1 and combine_send phase of batch 0 concurrently. I understand current implementation can not achieve this since we we only have 2 lowlatency buffer and will clean the metadata buffer(such as rdma_recv_flag_buffer) of the next buffer when we use one buffer to do actual send and recv. When dispatch_send and combine_send issue together, the later one will clean the metabuffer of former, which means the former operation may never finish recv(hang at checking the buffer value). i wonder why u fuse the clean next buffer operation into dispatch/combine, instaed of a seperate kernel( for the consideration of performance?) Can u give me some suggestions on how to achieve the concurrent dispatch and combine in low latency mode? I thought one potential way was to clean the current metabuffer when recv kernel finishes. The kernel does nothing to the next buffer. But will there be some bug? Thanks!
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepEP#332
No description provided.