mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1189] [CLOSED] [NvlinkTransport] Fix HIP Shareable POSIX File Descriptor Handles #2062
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#2062
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/kvcache-ai/Mooncake/pull/1189
Author: @amd-arozanov
Created: 12/9/2025
Status: ❌ Closed
Base:
main← Head:posix_fd2📝 Commits (5)
4628e81[NvlinkTransport] Fix HIP shareable handles implementation547b409[NvlinkTransport] Fix hipMemGetAddressRange segmentation fault13d58f3Fix ROCm 6.x compatibility: remove requestedHandleTypes usagebe2dbcb[NvlinkTransport] Set proper device context for each transfer18807f1[NvlinkTransport] Cleanup📊 Changes
3 files changed (+156 additions, -3 deletions)
View changed files
📝
mooncake-transfer-engine/include/gpu_vendor/hip.h(+5 -1)📝
mooncake-transfer-engine/nvlink-allocator/nvlink_allocator.cpp(+7 -1)📝
mooncake-transfer-engine/src/transport/nvlink_transport/nvlink_transport.cpp(+144 -1)📄 Description
Description
(AI Assist)
This PR is focusing on fixes for proper POSIX file descriptor-based shareable handle implementation.
Changes:
Implement proper shareable handle support for HIP
open_fd()function that usespidfd_openandpidfd_getfdsyscalls to correctly open POSIX file descriptors fromCUmemFabricHandlein remote processesFix
hipMemGetAddressRangesegmentation faulthipMemGetAddressRange, which unlike CUDA's version doesn't support NULL argumentsFix ROCm 6.x compatibility
requestedHandleTypefield instead ofrequestedHandleTypesto support ROCm 6.xrequestedHandleTypessupport was added in ROCm 7.0Add proper device context management
request.sourceto set correct device context for each transfer operationType of Change
How Has This Been Tested?
Ran transfer_engine_bench and transfer_engine_validator on nodes with AMG GPU
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.