Skip to content

Add Rust Merge Sort Keys and Pairs with comparators - #12244

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

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

Conversation

@tpn

@tpn tpn commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Add Block/Warp Merge Sort Keys and Pairs with full/partial inputs and independent key/value types. Full-input i32 Block Merge Sort Keys also accepts a stateless comparator; its checked callback ABI preserves the supported zero-sized environment contract.

Builds on #12241, using the shared callback transport introduced in #12119. 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; native builtin/comparator checks; standalone ordinary Normal/Full and HTTPS-toolchain Full builds, artifact inspection and targeted GPU/sanitizer checks. Existing compiler installations were reused.

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 11 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>
Provide neighboring-item transforms and head/tail flags with typed
neighbor controls, payload validity and explicit scratch completion.

Signed-off-by: Trent Nelson <trent@trent.me>
Expose Block histogram algorithms with typed bin controls and fresh
output ownership through the shared native provider.

Signed-off-by: Trent Nelson <trent@trent.me>
Group complete radix key, pair and rank operations with their
validity, layout, bit-range and scratch contracts.

Signed-off-by: Trent Nelson <trent@trent.me>
Provide Block and Warp key and pair sorting with partial inputs.
Include the supported stateless full-input i32 Block comparator at
its owning family and retain the checked callback ABI.

Signed-off-by: Trent Nelson <trent@trent.me>
@tpn
tpn force-pushed the codex/cuda-coop-rust-merge-sort-keys branch from 7a8a828 to b4b7061 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 and Warp MergeSortKeys Add Rust Merge Sort Keys and Pairs with comparators 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