Skip to content

Connect the native cooperative provider to Oxide compilation - #12092

Draft
tpn wants to merge 6 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-r03-provider
Draft

tpn wants to merge 6 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-r03-provider

Conversation

@tpn

@tpn tpn commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

The native cooperative provider needs to participate in ordinary Rust kernel compilation without consumer-written C++ shims or linker input lists. This adds its host adapter for Oxide: a Cargo build script serves batched native specializations, typed ABI and exact scratch layouts from the existing CUB provider. It also declares native header/toolkit inputs for Cargo freshness tracking.

A private three-crate fixture exercises discovery through generic dependency helpers, Direct/Transpose Load and Store, one/four items per thread, partial inputs and explicit reuse synchronization. The compiler supplies exact launch shape and scratch requirements. This adapter is an unsafe implementation boundary; public safe Load/Store comes in the later foundation changes.

Validation: host protocol tests, Rust 1.85 provider checks, strict clippy/rustdoc and precommit; 480 GPU cases with launch-rejection checks and clean sanitizers. Coordinated input-tracking probes cover header/provider/environment changes and warm reuse. The native fixture uses the coordinated Oxide source, not the released package.

Depends on #12088 and Oxide draft #1566. This draft is cumulative against main; the provider-adapter delta excludes the R01 foundation.

tpn added 6 commits October 19, 2026 21:39
Create a host-only Cargo workspace that specializes selected CUB forms
through NVRTC and reports exact scratch layouts with their LTO output.
Bind specialization identities to source, headers and toolkit bytes.
Include a runnable provider example, Rust guide and CPU checks.

Signed-off-by: Trent Nelson <trent@trent.me>
Install the pinned toolchain without updating rustup itself.

Signed-off-by: Trent Nelson <trent@trent.me>
Serve native specialization batches through the versioned Oxide boundary
and exercise Load and Store through a standalone Cargo consumer with a
generic helper dependency.

Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
@copy-pr-bot

copy-pr-bot Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant