[GH-ISSUE #37] Intra-node compute-communication overlap without SM cores #35

Closed
opened 2026-10-26 09:52:53 +00:00 by bsakaguchi · 7 comments
Owner

Originally created by @rajagond on GitHub (Mar 3, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/37

Hi,

Are you also doing compute communication overlap without SM cores in the intra-node case? I tried searching in your codebase but didn't find the implementation. Could you please clarify or point out the implementation to me?

Thanks!!

Originally created by @rajagond on GitHub (Mar 3, 2025). Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/37 Hi, Are you also doing compute communication overlap without SM cores in the intra-node case? I tried searching in your codebase but didn't find the implementation. Could you please clarify or point out the implementation to me? Thanks!!
Author
Owner

@LyricZhao commented on GitHub (Mar 4, 2025):

We don't have an impl for normal intranode kernels, but you can try the low-latency kernels (with RDMA enabled, NVLink disabled, one-node supported).

We plan to support intranode low-latency NVLink protocol later, currently only RDMA is supported.

<!-- gh-comment-id:2695971080 --> @LyricZhao commented on GitHub (Mar 4, 2025): We don't have an impl for **normal** intranode kernels, but you can try the **low-latency** kernels (with RDMA enabled, NVLink disabled, **one-node supported**). We plan to support intranode low-latency NVLink protocol later, currently only RDMA is supported.
Author
Owner

@rajagond commented on GitHub (Mar 4, 2025):

Thanks for the reply.

Additionally, why are you not doing that for prefill? Also, since decoding is memory-bound, wouldn't breaking it into two or more microbatches be inefficient?

<!-- gh-comment-id:2696296755 --> @rajagond commented on GitHub (Mar 4, 2025): Thanks for the reply. Additionally, why are you not doing that for prefill? Also, since decoding is memory-bound, wouldn't breaking it into two or more microbatches be inefficient?
Author
Owner

@LyricZhao commented on GitHub (Mar 4, 2025):

Additionally, why are you not doing that for prefill?

Because it is not doable with current impls. Prefill kernels require a lot of extra computation.

Also, since decoding is memory-bound, wouldn't breaking it into two or more microbatches be inefficient?

Sorry, I don't understand your problem? Decoding kernels naturally support two-microbatch overlapping, and V3/R1 online services are compute-bound (attn and MoE). Which part do you think is memory-bound?

<!-- gh-comment-id:2696307448 --> @LyricZhao commented on GitHub (Mar 4, 2025): > Additionally, why are you not doing that for prefill? Because it is not doable with current impls. Prefill kernels require a lot of extra computation. > Also, since decoding is memory-bound, wouldn't breaking it into two or more microbatches be inefficient? Sorry, I don't understand your problem? Decoding kernels naturally support two-microbatch overlapping, and V3/R1 online services are compute-bound (attn and MoE). Which part do you think is memory-bound?
Author
Owner

@LyricZhao commented on GitHub (Mar 4, 2025):

Ah, I understand it now. You can refer to the day-6 report of our open-source week. The batch size is 256, splitting into 2 microbatches of 128, making the system compute-bound for most of the kernels.

<!-- gh-comment-id:2696310257 --> @LyricZhao commented on GitHub (Mar 4, 2025): Ah, I understand it now. You can refer to the day-6 report of our open-source week. The batch size is 256, splitting into 2 microbatches of 128, making the system compute-bound for most of the kernels.
Author
Owner

@rajagond commented on GitHub (Mar 4, 2025):

That makes sense. Deepseek-v3/R1 is large, so 256 seems sufficient.

<!-- gh-comment-id:2696362236 --> @rajagond commented on GitHub (Mar 4, 2025): That makes sense. Deepseek-v3/R1 is large, so 256 seems sufficient.
Author
Owner

@VincentHITlemon commented on GitHub (Mar 7, 2025):

We plan to support intranode low-latency NVLink protocol later, currently only RDMA is supported.

@LyricZhao IIUC NVLINK latency should be lower than RDMA latency, so why is RDMA supported firstly instead of NVLINK? Is it the benefits of supporting NVLINK are not very obvious because most experts are distributed in different nodes?

<!-- gh-comment-id:2705631195 --> @VincentHITlemon commented on GitHub (Mar 7, 2025): > We plan to support intranode low-latency NVLink protocol later, currently only RDMA is supported. @LyricZhao IIUC NVLINK latency should be lower than RDMA latency, so why is RDMA supported firstly instead of NVLINK? Is it the benefits of supporting NVLINK are not very obvious because most experts are distributed in different nodes?
Author
Owner

@LyricZhao commented on GitHub (Mar 7, 2025):

The large EP (128-320) was decided at V3 design phase. With such number of EP ranks, NVLink is not reachable within a node but forwarding between RDMA and NVLink has no benefit. So only RDMA is needed (unless you only have 8 ranks with NVLink connected).

<!-- gh-comment-id:2706434977 --> @LyricZhao commented on GitHub (Mar 7, 2025): The large EP (128-320) was decided at V3 design phase. With such number of EP ranks, NVLink is not reachable within a node but forwarding between RDMA and NVLink has no benefit. So only RDMA is needed (unless you only have 8 ranks with NVLink connected).
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#35
No description provided.