[GH-ISSUE #46] About num_qps_per_rank #45

Open
opened 2026-10-26 09:53:10 +00:00 by bsakaguchi · 6 comments
Owner

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

I notice that when Buffer is initialized, all modes (internode, intranode, low-latency) pass the parameter 'num_qps_per_rank', but it seems that only low-latency mode will use it in init. I wondered why?

Originally created by @GitAlice123 on GitHub (Mar 5, 2025). Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/46 I notice that when Buffer is initialized, all modes (internode, intranode, low-latency) pass the parameter 'num_qps_per_rank', but it seems that only low-latency mode will use it in __init__. I wondered why?
Author
Owner

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

Low-latency kernel will assign a QP for every local expert for extreme low issue overhead, while the number of QPs for normal kernels does not matter for performance.

<!-- gh-comment-id:2700474974 --> @LyricZhao commented on GitHub (Mar 5, 2025): Low-latency kernel will assign a QP for every local expert for extreme low issue overhead, while the number of QPs for normal kernels does not matter for performance.
Author
Owner

@GitAlice123 commented on GitHub (Mar 5, 2025):

Is there any way to use multiple QPs in other modes (like internode)?

<!-- gh-comment-id:2700544124 --> @GitAlice123 commented on GitHub (Mar 5, 2025): Is there any way to use multiple QPs in other modes (like internode)?
Author
Owner

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

Yes, normal kernels follow the NVSHMEM environ vars, e.g. QP number NVSHMEM_IBGDA_NUM_RC_PER_PE.

For more settings, you can refer to https://docs.nvidia.com/nvshmem/api/gen/env.html.

<!-- gh-comment-id:2700878938 --> @LyricZhao commented on GitHub (Mar 5, 2025): Yes, normal kernels follow the NVSHMEM environ vars, e.g. QP number `NVSHMEM_IBGDA_NUM_RC_PER_PE`. For more settings, you can refer to https://docs.nvidia.com/nvshmem/api/gen/env.html.
Author
Owner

@GitAlice123 commented on GitHub (Mar 6, 2025):

But NVSHMEM_IBGDA_NUM_RC_PER_PE is only used for IBGDA (by its name), in other modes we do not use IBGDA. Can I use this parameter to set the QP numbers?

<!-- gh-comment-id:2702612435 --> @GitAlice123 commented on GitHub (Mar 6, 2025): But NVSHMEM_IBGDA_NUM_RC_PER_PE is only used for IBGDA (by its name), in other modes we do not use IBGDA. Can I use this parameter to set the QP numbers?
Author
Owner

@sphish commented on GitHub (Mar 6, 2025):

But NVSHMEM_IBGDA_NUM_RC_PER_PE is only used for IBGDA (by its name), in other modes we do not use IBGDA. Can I use this parameter to set the QP numbers?

For the current version of NVSHMEM, each transport is fixed to use 1 QP per PE. It is not adjustable.

<!-- gh-comment-id:2702640199 --> @sphish commented on GitHub (Mar 6, 2025): > But NVSHMEM_IBGDA_NUM_RC_PER_PE is only used for IBGDA (by its name), in other modes we do not use IBGDA. Can I use this parameter to set the QP numbers? For the current version of NVSHMEM, each transport is fixed to use 1 QP per PE. It is not adjustable.
Author
Owner

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

is there pr to fix it? We need to use dual-port RNIC in IBRC mode.
Maybe this guy, he's done the appeal.
https://github.com/deepseek-ai/DeepEP/issues/74#issuecomment-2735519635

<!-- gh-comment-id:2742863319 --> @miter6 commented on GitHub (Mar 21, 2025): is there pr to fix it? We need to use dual-port RNIC in IBRC mode. Maybe this guy, he's done the appeal. https://github.com/deepseek-ai/DeepEP/issues/74#issuecomment-2735519635
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#45
No description provided.