Skip to content

feat(cuinterpose): VMM ownership and allocation lifecycle - #329

Draft
galletas1712 wants to merge 9 commits into
schwinns/cuinterpose-rust-03-processfrom
schwinns/cuinterpose-rust-04-vmm
Draft

galletas1712 wants to merge 9 commits into
schwinns/cuinterpose-rust-03-processfrom
schwinns/cuinterpose-rust-04-vmm

Conversation

@galletas1712

@galletas1712 galletas1712 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Refs #295 (approved).

Track supported VMM allocations through application-visible virtual allocation handles, along with mappings, access permissions, ownership, and sharing state. Implement capture and restore operations that leave never-shared allocations on the native CUDA path.

Review notes

  • The shared virtual-allocation-handle namespace is tagged so cuinterpose can distinguish virtual handles from native CUDA handles.
  • State owns the mapping from each virtual allocation handle to an allocation identity; callers receive native handles only after resolution inside the shim.
  • Virtual multicast handles use this same namespace as a subtype when multicast support is added in feat(cuinterpose): multicast tracking and reconstruction #331.
  • cuMemExportToShareableHandle returns a virtual shareable handle. Import resolves its allocation reference and requests the real CUDA export FD from its creator.
  • SaveAllocations and LoadAllocations call the host carriers supplied by feat(cuinterpose): host-carrier storage for shared allocation bytes #330. Never-shared allocations remain native CUDA state.

This PR does not add PageBroker storage, backend selection, or export-property promotion.

Validation

On the assembled stack, make -C agent/cmd/cuinterpose test passes formatting, strict Clippy, GNU/musl builds, ABI and artifact checks, Rust tests, and packaged fake-driver lifecycle tests. Physical-GPU tests were not rerun for this terminology-only change.

@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

@copy-pr-bot

copy-pr-bot Bot commented Sep 17, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@galletas1712
galletas1712 removed this pull request from stack #339 September 17, 2026 08:53
@galletas1712
galletas1712 added this pull request to stack #343 September 17, 2026 08:53
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from f30fbf0 to c70e793 Compare September 17, 2026 09:30
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from c70e793 to ecaf70c Compare September 17, 2026 20:53
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch 2 times, most recently from 60fb852 to fd804ae Compare September 18, 2026 01:51
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from fd804ae to cc5d926 Compare September 18, 2026 03:41
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from cc5d926 to 576c893 Compare September 18, 2026 18:55
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from 576c893 to 80c8937 Compare September 18, 2026 22:13
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch 2 times, most recently from 575602a to dd99600 Compare September 18, 2026 23:34
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch 2 times, most recently from 2f24c1a to e9ce0e7 Compare September 19, 2026 02:57
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from e9ce0e7 to f5d52a2 Compare September 19, 2026 06:08
Refs #295.

Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
…time

Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
@galletas1712
galletas1712 force-pushed the schwinns/cuinterpose-rust-04-vmm branch from f5d52a2 to 47ed351 Compare September 19, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant