feat(cuinterpose): implement CUDA memory IPC over tracked VMM - #342
Draft
galletas1712 wants to merge 1 commit into
Draft
galletas1712 wants to merge 1 commit into
galletas1712 wants to merge 1 commit into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
galletas1712
added this pull request to stack #343
September 17, 2026 08:53
This was referenced Sep 17, 2026
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-memory-ipc
branch
from
September 17, 2026 09:30
5e6102a to
6a64f3d
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-memory-ipc
branch
3 times, most recently
from
September 18, 2026 01:13
c5614bb to
a01a457
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-memory-ipc
branch
from
September 18, 2026 01:51
a01a457 to
67f0fc8
Compare
Refs #295. Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-memory-ipc
branch
from
September 18, 2026 03:41
67f0fc8 to
04aba85
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #295 (approved).
Implement synchronous device malloc and CUDA memory IPC using existing VMM records, peer export FDs, and host-carrier reconstruction. Native memory-IPC functions are not called.
Review boundary
A fixed 64-byte ticket identifies the creator and allocation. Repeated opens share an address and count references; final close removes the import. Free synchronizes before unmapping. Address-range lookup preserves the requested size. Supported scope is fully interposed peers and the documented context behavior, not event/pool IPC or general peer-access emulation. Frontend declarations are in #326; focused tests stay in #338.
This PR contains one signed-off commit,
6a64f3d15857f5b4cd1c6d85ba3ec41707e83cd3. Diff: 4 files changed, 402 insertions(+).Stack and compatibility
The stack starts directly on
main; it does not depend on the PageBroker GPU-transfer branch or #323. The shim only saves shared creator bytes through host carriers. Never-shared allocations remain native CUDA state. The stack removes launch-job/jobfile support, and older jobfile-dependent or draft shim artifacts are rejected rather than migrated.PageBroker and native CustomStorage changes are separate. No PR in this stack adds that implementation.
Validation
Validation of the assembled implementation:
make checkin a clean disposable worktree.GLM testing without CustomStorage was cancelled at the user's request and is not a pass. GLM qualification uses a separate composition with CustomStorage; previous experimental GLM results are not qualification of this rebuilt stack. The installed test driver is not claimed to be a stock-driver qualification.
Tests above were run on the assembled implementation, not claimed independently for every source-only intermediate PR. The standard-library cleanup was validated with Rust workspace tests and strict Clippy, GNU/musl builds and packaged fake-driver tests, plus targeted pod-contract and CUDA-agent Go tests. Physical-GPU tests were not rerun for this cleanup; the earlier GPU results above remain attributed to the pre-cleanup implementation.