mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[GH-ISSUE #100] Why normal mode does not support AR? #92
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#92
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 @yejunhong1 on GitHub (Mar 31, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/100
Hi, DeepEP team,
I have two brief questions:
I wonder why normal mode not support AR?
It is because IBRC use Send operation that does not supper network out-of-order delivery?
Or is it because the queue managing fashion that has some issue with AR?
I am not very clear about the key contribution of normal mode.
Is it the low SM usage (but meanwhile provide high throughput)?
Or it can provide supreme throughput that existing frameworks cannot achieve (such as Pytorch alltoall based on NCCL's Send/Recv)?
Thanks.
@LyricZhao commented on GitHub (Apr 1, 2025):
Supported now (in PR #45).
NCCL all2all does not have cross-domain multicast/reduction, e.g. a token is sent once via RDMA, broadcast multiple times to several NVL peers.
In terms of performance/precision, DeepEP's performance is also much better.
@yejunhong1 commented on GitHub (Apr 1, 2025):
Thanks for quick response.
As for the performance, our test result with NCCL alltoall (with DCQCN off) can also reach around 46GB, which is already the upper limit (same as DeepEP).
So I am a bit confused what is the improvement that DeepEP brings? Is it the SM resource reduction?
Meanwhile, I see that in low-latency mode, there is a quantification-to-FP8 before dispatch.
But I cannot find quantification related code in normal mode (maybe there is but not found).
Do you do quantification in normal mode? If so, the quantification may bring 2x modle throughput improvement under the same network bandwidth budget. I wonder if it is true.
@LyricZhao commented on GitHub (Apr 2, 2025):
As mentioned before: "cross-domain multicast: a token is sent once via RDMA, broadcast multiple times to several NVL peers". Using NCCL will cost more RDMA communication volumn (not performance cost), for V3 training (see the gate in V3 paper), nearly 2-3x.
You should cast by yourself before launching the dispatch/combine kernel.
@yejunhong1 commented on GitHub (Apr 2, 2025):
I see. Thanks a lot.