mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #1169] [Usage]: RDMA usage #397
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#397
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?
Originally created by @khuonglm on GitHub (Dec 5, 2025).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/1169
Describe your usage question
I have some questions about using mooncake store with rdma.
Here is the code I use to run the experiment
Q1. It seems that I can not use device to device in rdma. When I try to add device = 'cuda' when creating tensor, I can not register buffer. In my understanding, I think I will able to move data from tensor on gpu to another on gpu directly. Did I setup correctly? How should I use mooncake store with rdma (I only find tcp examples)?
Q2. How many rdma devices are enough (matches the tcp performance)?
Q3. Is it true that more devices is better?
Q4. Do I need to allocate distinctly rdma devices to different stores if I test on one machine?
Q5. I found that the rdma is worse than tcp. Could you give me the best practice or something?
Thank you.
Before submitting a new issue...
@alogfans commented on GitHub (Dec 5, 2025):
A1. In current implementation of Mooncake Store, all registered memory should be in host. However, if you use Mooncake TE directly, it's okay to register device memory.
A2. Typically 1 is enough. You can remain it as empty as it tries to use all devices.
A3. It depends on whether data transfer is bottleneck. More device occasionally costs more resource.
A4. No needed.
A5. You can try to add the block size for each transfer. Also you can start with TE rather than Store to directly measure the transfer performance.
@khuonglm commented on GitHub (Dec 5, 2025):
Thank you