Skip to content

[Rust] Add Block RadixSortPairs - #12242

Closed
tpn wants to merge 281 commits into
NVIDIA:mainfrom
tpn:codex/cuda-coop-rust-radix-sort-pairs
Closed

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

Conversation

@tpn

@tpn tpn commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Superseded by #12241, which now owns this implementation within its complete feature family. The original commits, branch and validation evidence remain available. This draft is closed unmerged.


Historical scope and validation below refer to the original source heads.

Add Block RadixSortPairs to sort integer keys while keeping independently typed values attached to them. Sorting is stable in ascending or descending order, preserves both inputs, and returns fresh key/value outputs with separate validity maps. The API supports XYZ blocks, generic helpers, independent alignments and static or block-uniform runtime key-bit bounds. Floating-point values retain their bit patterns.

This follows RadixSortKeys #12241 and uses the pinned Oxide compiler. Review the 21-file owning diff; Files changed against main also includes the preceding Rust API layers.

Local Rust 1.99.1 validation passed host tests and strict checks, all 14 compiler controls and both release consumers. Inspection covered all five kernel entries and native ABIs. Numerical checks verified stable pair association, bitwise value preservation and independent output mutation. Three sanitizers and five invalid-input/range traps with immediate successful recovery runs passed.

Earlier source reviews, the thirteen-recipe native batch, Rust 1.85 MSRV and corrected-example replay remain historical. Timing was not repeated, and this qualification makes no instruction-equivalence or performance claim. Current-head host CI passes (93 tests/doctests; 14 native tests excluded), along with the three upstream checks.

tpn added 30 commits October 20, 2026 10:50
…da-coop-rust-storage-publication

Signed-off-by: Trent Nelson <[email protected]>
…da-coop-rust-direct-review

Signed-off-by: Trent Nelson <[email protected]>
…da-coop-rust-transpose-public

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

# Conflicts:
#	rust/cuda-coop-codegen/tests/oxide-fixture/README.md
#	rust/cuda-coop-codegen/tests/oxide-fixture/api/Cargo.toml
#	rust/cuda-coop-codegen/tests/run_oxide_fixture.py
…da-coop-rust-transpose-public

Signed-off-by: Trent Nelson <[email protected]>
…da-coop-rust-transpose-final-pin

Signed-off-by: Trent Nelson <[email protected]>
Support both CUB warp-transpose algorithms for complete blocks.
Preserve payload validity through Store permutation and query exact
scratch layouts for regular and timesliced exchanges.

Signed-off-by: Trent Nelson <[email protected]>
Use the group-first API for independent 32-lane tiles and preserve
carrier ownership grain across block and warp operations. Select the
matching Oxide compiler for scoped participation and access checks.

Signed-off-by: Trent Nelson <[email protected]>
tpn added 23 commits October 23, 2026 14:08
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]>
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 scoped barrier diagnostic for conflicting Warp accesses.
Accept the two finite sibling-warp read loops after reconvergence,
matching the migrated checker and existing logical-warp policy.

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]>
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]>
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]>
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]>
@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 tpn closed this Oct 25, 2026
@github-project-automation github-project-automation Bot moved this from In Progress to Done in CCCL Oct 25, 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