mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #749] [CLOSED] [HybridEP] Report RDMA memory registration failures #753
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#753
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?
📋 Pull Request Information
Original PR: https://github.com/deepseek-ai/DeepEP/pull/749
Author: @janbernloehr
Created: 9/11/2026
Status: ❌ Closed
Base:
hybrid-ep← Head:fix/hybridep-rdma-registration-errors📝 Commits (1)
7e1d572fix(hybrid-ep): report RDMA registration failures📊 Changes
1 file changed (+136 additions, -30 deletions)
View changed files
📝
csrc/hybrid_ep/buffer/internode_doca.cu(+136 -30)📄 Description
Motivation
The HybridEP DOCA backend currently assumes that every
ibv_reg_mrcall succeeds. If GPU memory registration fails, the returned null pointer is dereferenced later while constructing remote-memory metadata. This produces a generic segmentation fault and loses the originalerrno, making failures such as unavailable peer-memory support, an incompatible HCA, or insufficient memlock limits difficult to diagnose.Changes
ibv_reg_mr.errno, andRLIMIT_MEMLOCKvalues before terminating.ibv_reg_mrpath and the absence of a DMA-BUF registration fallback.This change improves error reporting only; it does not add DMA-BUF registration support.
Performance impact
There are no changes to dispatch, combine, or training hot paths. The wrapper is inline and is used only during one-time RDMA buffer initialization. On success, its only additional work is a null check after the existing
ibv_reg_mrcall.Testing
git diff --checkibv_reg_mrcall ininternode_doca.cu.5321d809e095d6dd32a1355a5d4aa2ebbda4ba74.nvidia_peermem. The new diagnostic consistently reportedibv_reg_mrfailure forcombine.rdma_intra_node_red_token(117,440,512 bytes) on the rank-selected HCA witherrno=14 (Bad address)and unlimited soft/hardRLIMIT_MEMLOCK, then aborted before the null memory-region pointer could be dereferenced.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.