[PR #1341] [MERGED] [TE] Nvlink intraNode Transport isolation #2177

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/1341
Author: @TTThanos
Created: 1/8/2026
Status: ✅ Merged
Merged: 1/22/2026
Merged by: @stmatengss

Base: main ← Head: nvlink_intra_isolation


📝 Commits (10+)

  • 175b050 Add early mem backend detection method in NVLINK_allocator
  • 239a3e9 Change enumerate type in allocator.py for different mem backend
  • e321c35 Isolate nvlink intraNode transport from nvlink_transport and modify corresponding transfer_engine_bench
  • 9b69a56 IntraNode transport isolation to be compatible with SGlang
  • 082a3e0 Merge branch 'main' into nvlink_intra_isolation
  • ced3d8a Modify the code style using pre-commit check
  • 0479877 isolate intraNode nvlink from previous nvlink_transport
  • 7489e09 Merge branch 'main' into nvlink_intra_isolation
  • e3b6afd [TE] Revert to previous nvlink_transport
  • c37b57d Delete extra log and refine the code format

📊 Changes

18 files changed (+748 additions, -82 deletions)

View changed files

📝 docs/source/design/transfer-engine/index.md (+9 -9)
📝 docs/source/getting_started/build.md (+1 -0)
📝 mooncake-common/common.cmake (+1 -0)
📝 mooncake-integration/CMakeLists.txt (+8 -4)
📝 mooncake-integration/transfer_engine/transfer_engine_py.cpp (+50 -8)
📝 mooncake-transfer-engine/example/transfer_engine_bench.cpp (+51 -21)
📝 mooncake-transfer-engine/example/transfer_engine_bench_with_notify.cpp (+6 -0)
📝 mooncake-transfer-engine/example/transfer_engine_validator.cpp (+6 -0)
➕ mooncake-transfer-engine/include/gpu_vendor/intra_nvlink.h (+21 -0)
➕ mooncake-transfer-engine/include/transport/intranode_nvlink_transport/intranode_nvlink_transport.h (+85 -0)
📝 mooncake-transfer-engine/src/CMakeLists.txt (+45 -27)
📝 mooncake-transfer-engine/src/multi_transport.cpp (+10 -0)
📝 mooncake-transfer-engine/src/transfer_engine.cpp (+1 -1)
📝 mooncake-transfer-engine/src/transfer_engine_impl.cpp (+26 -11)
📝 mooncake-transfer-engine/src/transfer_metadata.cpp (+3 -1)
📝 mooncake-transfer-engine/src/transport/CMakeLists.txt (+5 -0)
➕ mooncake-transfer-engine/src/transport/intranode_nvlink_transport/CMakeLists.txt (+7 -0)
➕ mooncake-transfer-engine/src/transport/intranode_nvlink_transport/intranode_nvlink_transport.cpp (+413 -0)

📄 Description

Description

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?

New intraNode_nvlink_transport is introduced to Mooncake which is isolated from previous nvlink_transport and controlled by compile option "USE_INTRA_NVLINK". The performance is tested through transfer_engine_bench.cpp
image

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/1341 **Author:** [@TTThanos](https://github.com/TTThanos) **Created:** 1/8/2026 **Status:** ✅ Merged **Merged:** 1/22/2026 **Merged by:** [@stmatengss](https://github.com/stmatengss) **Base:** `main` ← **Head:** `nvlink_intra_isolation` --- ### 📝 Commits (10+) - [`175b050`](https://github.com/kvcache-ai/Mooncake/commit/175b0501faae86bb7f053650f8a915dcfba9bff2) Add early mem backend detection method in NVLINK_allocator - [`239a3e9`](https://github.com/kvcache-ai/Mooncake/commit/239a3e9a17ba1eafffb1e210cbe3e118d33934eb) Change enumerate type in allocator.py for different mem backend - [`e321c35`](https://github.com/kvcache-ai/Mooncake/commit/e321c35a939f116db8179f69434ea0eadb315f70) Isolate nvlink intraNode transport from nvlink_transport and modify corresponding transfer_engine_bench - [`9b69a56`](https://github.com/kvcache-ai/Mooncake/commit/9b69a560ebdba6d045282b0893c2b6588531b5a8) IntraNode transport isolation to be compatible with SGlang - [`082a3e0`](https://github.com/kvcache-ai/Mooncake/commit/082a3e002ef958f38215334e425300be84840d32) Merge branch 'main' into nvlink_intra_isolation - [`ced3d8a`](https://github.com/kvcache-ai/Mooncake/commit/ced3d8a081002aa872021d5dfd7bbe553b7a9d8a) Modify the code style using pre-commit check - [`0479877`](https://github.com/kvcache-ai/Mooncake/commit/0479877350bd86acd821935c43bdcd64752fce9f) isolate intraNode nvlink from previous nvlink_transport - [`7489e09`](https://github.com/kvcache-ai/Mooncake/commit/7489e09a8781bd4e4512913c7058282383c4757e) Merge branch 'main' into nvlink_intra_isolation - [`e3b6afd`](https://github.com/kvcache-ai/Mooncake/commit/e3b6afd08a435a0960d405bba92c27cb041991f1) [TE] Revert to previous nvlink_transport - [`c37b57d`](https://github.com/kvcache-ai/Mooncake/commit/c37b57d27672013bddbe49a68da310f4fecac1d9) Delete extra log and refine the code format ### 📊 Changes **18 files changed** (+748 additions, -82 deletions) <details> <summary>View changed files</summary> 📝 `docs/source/design/transfer-engine/index.md` (+9 -9) 📝 `docs/source/getting_started/build.md` (+1 -0) 📝 `mooncake-common/common.cmake` (+1 -0) 📝 `mooncake-integration/CMakeLists.txt` (+8 -4) 📝 `mooncake-integration/transfer_engine/transfer_engine_py.cpp` (+50 -8) 📝 `mooncake-transfer-engine/example/transfer_engine_bench.cpp` (+51 -21) 📝 `mooncake-transfer-engine/example/transfer_engine_bench_with_notify.cpp` (+6 -0) 📝 `mooncake-transfer-engine/example/transfer_engine_validator.cpp` (+6 -0) ➕ `mooncake-transfer-engine/include/gpu_vendor/intra_nvlink.h` (+21 -0) ➕ `mooncake-transfer-engine/include/transport/intranode_nvlink_transport/intranode_nvlink_transport.h` (+85 -0) 📝 `mooncake-transfer-engine/src/CMakeLists.txt` (+45 -27) 📝 `mooncake-transfer-engine/src/multi_transport.cpp` (+10 -0) 📝 `mooncake-transfer-engine/src/transfer_engine.cpp` (+1 -1) 📝 `mooncake-transfer-engine/src/transfer_engine_impl.cpp` (+26 -11) 📝 `mooncake-transfer-engine/src/transfer_metadata.cpp` (+3 -1) 📝 `mooncake-transfer-engine/src/transport/CMakeLists.txt` (+5 -0) ➕ `mooncake-transfer-engine/src/transport/intranode_nvlink_transport/CMakeLists.txt` (+7 -0) ➕ `mooncake-transfer-engine/src/transport/intranode_nvlink_transport/intranode_nvlink_transport.cpp` (+413 -0) </details> ### 📄 Description ## Description <!-- A clear and concise description of the changes. Link to any relevant issues. --> ## Type of Change * Types - [ ] Bug fix - [ ] 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? New intraNode_nvlink_transport is introduced to Mooncake which is isolated from previous nvlink_transport and controlled by compile option "USE_INTRA_NVLINK". The performance is tested through transfer_engine_bench.cpp <img width="2528" height="640" alt="image" src="https://github.com/user-attachments/assets/dd660d46-2aff-4e6e-9dbc-771387499414" /> ## 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. --- <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#2177
No description provided.