Skip to content

Add Rust cooperative TopK for keys and pairs - #12246

Draft
tpn wants to merge 12 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-topk
Draft

tpn wants to merge 12 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-topk

Conversation

@tpn

@tpn tpn commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Add unsorted Block TopK minimum and maximum selection for keys and pairs. Full and partial inputs use typed controls, fresh result validity and explicit scratch completion.

Builds on #12244. 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.

@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Progress in CCCL Oct 24, 2026
tpn added 12 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>
Provide minimum and maximum key and pair selection with full and
partial input contracts, typed controls and explicit completion.

Signed-off-by: Trent Nelson <trent@trent.me>
@tpn
tpn force-pushed the codex/cuda-coop-rust-topk branch from 53a495d to 913ca9e 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 TopK keys and pairs Add Rust cooperative TopK for keys and pairs 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