[PR #1344] [MERGED] [TE/HIP] Switch to IPC mode by default and enable P2P access #2178

Closed
opened 2026-10-29 21:33:21 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1344
Author: @amd-arozanov
Created: 1/8/2026
Status: ✅ Merged
Merged: 1/9/2026
Merged by: @stmatengss

Base: main ← Head: hip_ipc


📝 Commits (3)

  • 6649549 [TE/HIP] Switch to IPC mode by default and enable P2P access
  • e6d11a4 Fix nvlink_allocator build with HIP
  • c4ceffd [TE/HIP] Optimize P2P access setup for IPC mode

📊 Changes

2 files changed (+64 additions, -4 deletions)

View changed files

📝 mooncake-transfer-engine/include/gpu_vendor/hip.h (+6 -0)
📝 mooncake-transfer-engine/src/transport/hip_transport/hip_transport.cpp (+58 -4)

📄 Description

Description

I observe that IPC handles in HIP show better performance for single node scenarios, than shareable handles. So, changed the default mode.

We may think to separate hip transport into two transports like it was done with nvlink transport in TENT and https://github.com/kvcache-ai/Mooncake/pull/1341. Please share your thoughts.

Changes:

  • Change default behavior to use IPC mode instead of fabric memory
  • Fabric memory is now enabled only when MC_USE_HIP_IPC=0 or MC_USE_NVLINK_IPC=0 is explicitly set
  • Enable P2P access for all device pairs in IPC mode during HipTransport initialization
  • Fix nvlink_allocator build with hip

Type of Change

  • Types
    • Bug fix
    • New feature
      • Transfer Engine
      • Mooncake Store
      • Mooncake EP
      • Integration
      • P2P Store
      • Python Wheel
    • Breaking change
    • CI/CD
    • Documentation update
    • Other

How Has This Been Tested?

Ran transfer_engine_bench and transfer_engine_validator on nodes with AMG GPU

Checklist

  • I have performed a self-review of my own code.
  • I have updated the documentation.
  • I have added tests to prove my changes are effective.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/1344 **Author:** [@amd-arozanov](https://github.com/amd-arozanov) **Created:** 1/8/2026 **Status:** ✅ Merged **Merged:** 1/9/2026 **Merged by:** [@stmatengss](https://github.com/stmatengss) **Base:** `main` ← **Head:** `hip_ipc` --- ### 📝 Commits (3) - [`6649549`](https://github.com/kvcache-ai/Mooncake/commit/66495492dbd1c3cf257b8e0c0c3fb1e88f6bd002) [TE/HIP] Switch to IPC mode by default and enable P2P access - [`e6d11a4`](https://github.com/kvcache-ai/Mooncake/commit/e6d11a4851f9ce74c0c99b08715c72176311cff2) Fix nvlink_allocator build with HIP - [`c4ceffd`](https://github.com/kvcache-ai/Mooncake/commit/c4ceffd7c8503119d05333b464a1a669f5baf439) [TE/HIP] Optimize P2P access setup for IPC mode ### 📊 Changes **2 files changed** (+64 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-transfer-engine/include/gpu_vendor/hip.h` (+6 -0) 📝 `mooncake-transfer-engine/src/transport/hip_transport/hip_transport.cpp` (+58 -4) </details> ### 📄 Description ## Description I observe that IPC handles in HIP show better performance for single node scenarios, than shareable handles. So, changed the default mode. We may think to separate hip transport into two transports like it was done with nvlink transport in TENT and https://github.com/kvcache-ai/Mooncake/pull/1341. Please share your thoughts. ### Changes: - Change default behavior to use IPC mode instead of fabric memory - Fabric memory is now enabled only when MC_USE_HIP_IPC=0 or MC_USE_NVLINK_IPC=0 is explicitly set - Enable P2P access for all device pairs in IPC mode during HipTransport initialization - Fix nvlink_allocator build with hip ## Type of Change * Types - [ ] Bug fix - [x] New feature - [x] Transfer Engine - [ ] Mooncake Store - [ ] Mooncake EP - [ ] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? Ran transfer_engine_bench and transfer_engine_validator on nodes with AMG GPU ## Checklist - [x] I have performed a self-review of my own code. - [x] I have updated the documentation. - [x] I have added tests to prove my changes are effective. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:33:21 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/Mooncake#2178
No description provided.