mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1320] [CLOSED] [TE] IntraNode nvlink isolation: isolate intraNode nvlink connection from previous nvlink_transport #2159
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#2159
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/1320
Author: @TTThanos
Created: 1/4/2026
Status: ❌ Closed
Base:
main← Head:nvlink_intra_isolation📝 Commits (6)
175b050Add early mem backend detection method in NVLINK_allocator239a3e9Change enumerate type in allocator.py for different mem backende321c35Isolate nvlink intraNode transport from nvlink_transport and modify corresponding transfer_engine_bench9b69a56IntraNode transport isolation to be compatible with SGlang082a3e0Merge branch 'main' into nvlink_intra_isolationced3d8aModify the code style using pre-commit check📊 Changes
13 files changed (+819 additions, -29 deletions)
View changed files
📝
docs/source/design/transfer-engine/index.md(+9 -9)📝
mooncake-integration/allocator.py(+82 -4)📝
mooncake-integration/transfer_engine/transfer_engine_py.cpp(+31 -7)📝
mooncake-transfer-engine/example/transfer_engine_bench.cpp(+56 -1)📝
mooncake-transfer-engine/example/transfer_engine_bench_with_notify.cpp(+2 -0)📝
mooncake-transfer-engine/example/transfer_engine_validator.cpp(+2 -0)📝
mooncake-transfer-engine/include/gpu_vendor/mnnvl.h(+6 -0)➕
mooncake-transfer-engine/include/transport/nvlink_transport/intranode_nvlink_transport.h(+85 -0)📝
mooncake-transfer-engine/nvlink-allocator/nvlink_allocator.cpp(+37 -0)📝
mooncake-transfer-engine/src/multi_transport.cpp(+3 -0)📝
mooncake-transfer-engine/src/transfer_engine_impl.cpp(+20 -7)📝
mooncake-transfer-engine/src/transfer_metadata.cpp(+3 -1)➕
mooncake-transfer-engine/src/transport/nvlink_transport/intranode_nvlink_transport.cpp(+483 -0)📄 Description
Description
Type of Change
How Has This Been Tested?
By adding a new subtransport class IntraNodeNvlinkTransport to handle the situation of intraNode kv cache transmission.

Along with Autodetect mechanism in PR https://github.com/kvcache-ai/Mooncake/pull/1296/files/056a45bf34e75e92b7530c3c10f82e72c0136c40..07b3bb1f618ecabbb0febeb91f2d796035634d85
SGlang can automatically use Intranode_nvlink connection when set MC_FORCE_MNNVL.
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.