Skip to content

Add Rust Radix Sort Keys and Pairs with Rank - #12241

Draft
tpn wants to merge 10 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-radix-sort-keys
Draft

tpn wants to merge 10 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-radix-sort-keys

Conversation

@tpn

@tpn tpn commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Add Block Radix Sort Keys, Radix Sort Pairs and Radix Rank Keys as one family. Preserve bit-range controls, stable key/value association, layout and validity contracts, and ranks in original slots.

Builds on #12240. 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 24, 2026

Copy link
Copy Markdown
Contributor

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.

@github-project-automation github-project-automation Bot moved this to Todo in CCCL Oct 24, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Progress in CCCL Oct 24, 2026
tpn added 10 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 <[email protected]>
Expose Block and Warp scans with explicit payload validity,
prefix registration and native provider integration.

Signed-off-by: Trent Nelson <[email protected]>
Avoid copying inactive batch output lanes while preserving active
results and add focused coverage for narrow output batches.

Signed-off-by: Trent Nelson <[email protected]>
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 <[email protected]>
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 <[email protected]>
Expose complete Block and Warp exchange operations and Block shifts
with explicit layout, output validity and scratch completion.

Signed-off-by: Trent Nelson <[email protected]>
Provide neighboring-item transforms and head/tail flags with typed
neighbor controls, payload validity and explicit scratch completion.

Signed-off-by: Trent Nelson <[email protected]>
Expose Block histogram algorithms with typed bin controls and fresh
output ownership through the shared native provider.

Signed-off-by: Trent Nelson <[email protected]>
Group complete radix key, pair and rank operations with their
validity, layout, bit-range and scratch contracts.

Signed-off-by: Trent Nelson <[email protected]>
@tpn
tpn force-pushed the codex/cuda-coop-rust-radix-sort-keys branch from 84cd28d to ded365f Compare October 25, 2026 01:33
@copy-pr-bot

copy-pr-bot Bot commented Oct 25, 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 tpn changed the title [Rust] Add Block RadixSortKeys Add Rust Radix Sort Keys and Pairs with Rank 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: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant