mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1218] [MERGED] [TE/HIP] Fix HIP Shareable POSIX File Descriptor Handles #2082
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#2082
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/1218
Author: @amd-arozanov
Created: 12/16/2025
Status: ✅ Merged
Merged: 12/17/2025
Merged by: @alogfans
Base:
main← Head:posix_fd4📝 Commits (6)
ef557fc[TE/HIP] Fix HIP shareable handles implementationbde45fe[TE/HIP] Set proper device context for each transfer515b2fd[TE/HIP] Extract common logic into processTransferRequest4eb7327[TE/HIP] Add stream synchronization8c9208b[TE/HIP] Add RAII wrapper for file descriptor management25d983e[TE/HIP] Simplify device context setting for host memory📊 Changes
2 files changed (+188 additions, -77 deletions)
View changed files
📝
mooncake-transfer-engine/include/transport/hip_transport/hip_transport.h(+4 -1)📝
mooncake-transfer-engine/src/transport/hip_transport/hip_transport.cpp(+184 -76)📄 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 fromhipxFabricHandlein remote processesAdd proper device context management
request.sourceto set correct device context for each transfer operationAdd stream synchronization for memory transfers
hipStreamSynchronize()call afterhipMemcpyto ensure memory transfer is fully complete before marking operation as successfulhipMemcpymay return immediately while the actual data transfer is still in progressRefactor transfer request processing
submitTransfer()andsubmitTransferTask()by extracting shared logic into a helper method:processTransferRequest().Type 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.