[GH-ISSUE #81] inplace_unique(rank_idx, num_ranks) in tests/test_intranode.py #73

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

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

  • inplace_unique(rank_idx, num_ranks)
  • inplace_unique函数感觉有点绕呀
  • 我看了下代码,这个函数的作用是:
  • 假设nums_rank是8,top_k是8

rank_idx假设输入为:[3, 3, 4, 5, 6, 6, 7, 3]
然后统计每个rank上接受此token的个数和 :[0,0,0,3,1,1,2,1]
然后再按照索引从右到左排序,出现0的地方搞成了-1得到输出
[ 7, 6, 5, 4, 3, -1, -1, -1]

可是这样搞的话,是为啥呢?感觉已经脱离了rank_idx的字面意义了,这还怎么和topk_idx进行对应啊。

Originally created by @zhoutianzi666 on GitHub (Mar 19, 2025). Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/81 - `inplace_unique(rank_idx, num_ranks)` - `inplace_unique`函数感觉有点绕呀 - 我看了下代码,这个函数的作用是: - 假设nums_rank是8,top_k是8 rank_idx假设输入为:[3, 3, 4, 5, 6, 6, 7, 3] 然后统计每个rank上接受此token的个数和 :[0,0,0,3,1,1,2,1] 然后再按照索引从右到左排序,出现0的地方搞成了-1得到输出 [ 7, 6, 5, 4, 3, -1, -1, -1] 可是这样搞的话,是为啥呢?感觉已经脱离了rank_idx的字面意义了,这还怎么和topk_idx进行对应啊。
Author
Owner

@zhoutianzi666 commented on GitHub (Mar 19, 2025):

哦,我好像有点理解了,感觉这里应该是只关心这个token需要发送到几张卡上,而不用关心这个token 被发送到了某张卡上的多个专家 。

<!-- gh-comment-id:2735368049 --> @zhoutianzi666 commented on GitHub (Mar 19, 2025): 哦,我好像有点理解了,感觉这里应该是只关心这个token需要发送到几张卡上,而不用关心这个token 被发送到了某张卡上的多个专家 。
Author
Owner

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

哦,我好像有点理解了,感觉这里应该是只关心这个token需要发送到几张卡上,而不用关心这个token 被发送到了某张卡上的多个专家 。

对的,你看函数名就行了;就是把 rank 去重一下,不需要关心里面的实现。

<!-- gh-comment-id:2742669324 --> @LyricZhao commented on GitHub (Mar 21, 2025): > 哦,我好像有点理解了,感觉这里应该是只关心这个token需要发送到几张卡上,而不用关心这个token 被发送到了某张卡上的多个专家 。 对的,你看函数名就行了;就是把 rank 去重一下,不需要关心里面的实现。
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#73
No description provided.