Skip to content

Add Rust Striped Load and Store - #12104

Closed
tpn wants to merge 76 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-striped-publication
Closed

tpn wants to merge 76 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-striped-publication

Conversation

@tpn

@tpn tpn commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Superseded by #12101, which now includes this accepted implementation and its validation scope. The original commits and branch remain available; this draft is closed unmerged.


Striped Load and Store give each lane interleaved items at lane + block_threads * item. The static coop::Striped selector supports inferred element types and checked slot validity. Store takes a shared borrow and preserves payload values and validity bits; Striped requires no shared scratch.

Current owning validation passes on Rust 1.99.1: host tests, strict lints/docs, provider MSRV 1.85, 36 raw and 384 typed native requests, and all 23 compiler controls. The original DEV consumers check 177 Striped, 1,093 Direct and 1,305 Transpose cases plus 5,718 example values. Four sanitizer runs, two expected device traps and their health replays pass. An unrelated GPU workload interrupted the first batch; a separate continuation completed only the five unrun commands.

Inspection covers six example and 82 composite roots, including 23 Striped roots with zero scratch/shared/local/stack. Whole CUBINs differ from historical builds; no instruction or performance equality is claimed. Current-head Rust host CI and all three upstream checks pass.

Builds on #12102. The PR diff against main is cumulative; the immutable owning comparison above XYZ isolates this layer.

tpn added 30 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 <[email protected]>
Install the pinned toolchain without updating rustup itself.

Signed-off-by: Trent Nelson <[email protected]>
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 <[email protected]>
Reuse the same helper sites with 64- and 128-thread kernels and retain

one device static across their emitted bodies. Check each launch plan

and preserve fixed external-symbol diagnostics.

Signed-off-by: Trent Nelson <[email protected]>
Select fixture output locations from raw CUDA coordinates and exercise
payload initialization, access and copying at both item counts. Annotate
compile-fail examples and clarify hierarchy ordering in the guide.

Signed-off-by: Trent Nelson <[email protected]>
Signed-off-by: Trent Nelson <[email protected]>

# Conflicts:
#	rust/Cargo.lock
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Progress in CCCL Oct 20, 2026
tpn added 25 commits October 23, 2026 08:33
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Keep the owning implementation and tests unchanged while applying
its scoped compiler, lock and documentation compatibility updates.

Signed-off-by: Trent Nelson <[email protected]>
Resolve artifact metadata from the pinned compiler source.
Keep the owning implementation and dependency versions unchanged.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Record the existing provider build dependency in the query lock.
Keep implementation and third-party dependency records unchanged.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Use the existing compiler diagnostic for three original cases.
Keep their program bodies and all other expectations unchanged.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Use the current compiler diagnostic for the original case.
Keep its program body and all other expectations unchanged.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Merge the corrected prerequisite while preserving this owner.

Signed-off-by: Trent Nelson <[email protected]>
Use the current compiler diagnostic for the original case.
Keep its program body and all other expectations unchanged.

Signed-off-by: Trent Nelson <[email protected]>
@tpn tpn closed this Oct 24, 2026
@github-project-automation github-project-automation Bot moved this from In Progress to Done in CCCL Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant