mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[GH-ISSUE #774] Low-latency mode aborts on nodes without a usable RDMA NIC with NVSHMEM >= 3.6 (num_rc_per_pe >= num_local_experts assert); worked with NVSHMEM <= 3.5 #418
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#418
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 @laithsakka on GitHub (Oct 8, 2026).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/774
causing VLLM failure on torch 2.15 see https://github.com/pytorch/test-infra/issues/8890#issuecomment-6067431855
Low-latency mode aborts on nodes without RDMA NIC since NVSHMEM 3.6
Problem
On a single node with no usable RDMA NIC, low-latency mode worked with NVSHMEM <= 3.5 (traffic goes over NVLink). With NVSHMEM >= 3.6 it aborts on the first
low_latency_dispatch:init failed for transport: IBGDA
Assertion failed: csrc/kernels/internode_ll.cu:285, condition: ibgda_get_state()->num_rc_per_pe >= num_local_experts
PyTorch 2.15 now ships
nvidia-nvshmem-cu13==3.7.2(pytorch/pytorch#194279), so users on these nodes hit it by default (e.g. vLLM CI, pytorch/test-infra#8890).Evidence (2x H100, same DeepEP binary, only the NVSHMEM library changed)
Cause
The assert never checked whether IBGDA actually started:
num_rc_per_peat its "unset" value0xFFFFFFFF, so the check passes by accident.Suggested fix
If IBGDA didn't initialize and all peers are reachable over NVLink, skip the check and use NVLink. Otherwise, raise a clear host-side error instead of a device assert.
Repro
Run a 2-GPU low-latency dispatch with
NVSHMEM_HCA_LIST=mlx5_99(hides the RDMA NICs) against NVSHMEM 3.5.21 vs 3.6.5. Script available on request.