Skip to content

Add Rust cooperative Exchange and Shuffle - #12124

Draft
tpn wants to merge 7 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-exchange-qualified
Draft

tpn wants to merge 7 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-exchange-qualified

Conversation

@tpn

@tpn tpn commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Add Block/Warp layout exchange and Block Shuffle as one data-movement family. Inputs remain available, results have explicit validity, and temporary-storage completion follows the group that owns the operation.

Builds on #12122. The owning comparison isolates this review unit; the GitHub diff against main is cumulative.

Validation on the reconstructed layer: formatting, host tests, clippy and docs, plus standalone public examples on CUDA 13.3 / sm_120. The full native provider suite passes separately at the final integrated stack. Historical broader diagnostics, sanitizer and profile evidence retains its original source attribution.

This PR remains draft.

@copy-pr-bot

copy-pr-bot Bot commented Oct 21, 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.

tpn added 7 commits October 24, 2026 17:38
Provide the Rust payload, group and scratch contracts, native CUB
provider and Oxide integration with complete Block and Warp I/O.

Signed-off-by: Trent Nelson <trent@trent.me>
Expose Block and Warp scans with explicit payload validity,
prefix registration and native provider integration.

Signed-off-by: Trent Nelson <trent@trent.me>
Avoid copying inactive batch output lanes while preserving active
results and add focused coverage for narrow output batches.

Signed-off-by: Trent Nelson <trent@trent.me>
Provide scalar and payload reductions with validity-aware results.
Include checked stateless and uniform i32 capture callbacks at their
first public consumer, together with the native callback ABI.

Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Preserve the batch dimension and per-batch output validity while using
the CUB output-copy guard. Include the provider shape correction.

Signed-off-by: Trent Nelson <trent@trent.me>
Expose complete Block and Warp exchange operations and Block shifts
with explicit layout, output validity and scratch completion.

Signed-off-by: Trent Nelson <trent@trent.me>
@tpn
tpn force-pushed the codex/cuda-coop-rust-exchange-qualified branch from de33c46 to 391c7a6 Compare October 25, 2026 01:33
@tpn tpn changed the title Add Rust Block and Warp Exchange Add Rust cooperative Exchange and Shuffle Oct 25, 2026

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: Todo

Development

Successfully merging this pull request may close these issues.

1 participant