mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[GH-ISSUE #252] About the concept of channel in DeepEP and NCCL #187
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#187
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 @lucky0218 on GitHub (Jun 24, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/252
I'm confused about the concept of ‘channels’ used in both DeepEP and NCCL. Why do we isolate communication resources using channels? In other words, why not configure a single large channel to handle all data transfers by allocating more resources to it?
What specific resource isolation exists between different channels? What benefits do channels provide?
Additionally, why doesn’t the LL (Low Latency) mode require channel partitioning?
Any clarification you could provide on these points would be incredibly helpful for my understanding. Thank you for your time on the project.
@LyricZhao commented on GitHub (Jun 27, 2025):
In a single channel, the tokens are sent in a specific order.
If multiple SMs share the same channel, you have to do extra synchronization between SMs, which is inefficient.