mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #574] Replace custom ibgda usage with nvshmem native apis #641
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#641
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/574
Author: @seth-howell
Created: 1/27/2026
Status: 🔄 Open
Base:
main← Head:nvshmem_native_apis📝 Commits (4)
10e8a3bUpdate internode kernels to use upstream NVSHMEM35858c9csrc/kernels:75a1811csrc: Only fence when the transport is unordered5de69c1check format📊 Changes
11 files changed (+277 additions, -699 deletions)
View changed files
📝
csrc/config.hpp(+9 -9)📝
csrc/deep_ep.cpp(+22 -12)📝
csrc/deep_ep.hpp(+10 -5)📝
csrc/kernels/api.cuh(+15 -11)📝
csrc/kernels/configs.cuh(+0 -3)➖
csrc/kernels/ibgda_device.cuh(+0 -506)📝
csrc/kernels/internode.cu(+100 -80)📝
csrc/kernels/internode_ll.cu(+86 -61)📝
csrc/kernels/runtime.cu(+13 -2)📝
csrc/kernels/utils.cuh(+4 -0)📝
deep_ep/buffer.py(+18 -10)📄 Description
This patch enables native NVSHMEM API usage in DeepEP
Eliminating the custom ibgda_device.cu file from DeepEP and switching to the new public nvshmem_qp APIs extends support to multiple transport backends including IBRC, IBDEVX, and libfabric.
This patch does not degrade performance on IBGDA. In some cases (2N, 4N) the kernels exhibit better performance than IBGDA.
It preserves IBGDA as the default transport unless a specific transport is supplied by the user.
Unordered transports like libfabric + EFA do require a fence before the put_signal operations to maintain functionality. Currently the performance of libfabric + EFA is not close to the performance of IB due to some missing functionality in the libfabric transport:
These improvements will be given to users for free in future releases of NVSHMEM.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.