Conversation
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
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
2 times, most recently
from
September 4, 2026 18:05
a1439f9 to
8ac30b9
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 4, 2026 18:10
7587282 to
03793c5
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 6, 2026 06:42
8ac30b9 to
74015ae
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
3 times, most recently
from
September 9, 2026 20:58
7f12cca to
e886b91
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 9, 2026 20:58
20f5740 to
80046aa
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 9, 2026 21:29
e886b91 to
a7bfc09
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
2 times, most recently
from
September 9, 2026 22:02
9ed3305 to
deecba2
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 9, 2026 22:02
a7bfc09 to
e8e866c
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 10, 2026 21:18
deecba2 to
f123aa7
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
2 times, most recently
from
September 14, 2026 17:11
34c77ae to
7156b39
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 14, 2026 17:11
f123aa7 to
5b06211
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 14, 2026 18:41
7156b39 to
be57fc5
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 14, 2026 18:41
5b06211 to
c45cdeb
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 15, 2026 01:57
be57fc5 to
bdfb35d
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
2 times, most recently
from
September 15, 2026 18:01
8e455be to
72fe594
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
2 times, most recently
from
September 15, 2026 23:45
41dc5e8 to
69d0af5
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 15, 2026 23:45
72fe594 to
49c5c1d
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 16, 2026 03:34
69d0af5 to
f38048f
Compare
Contributor
Author
|
Regarding the three suppressed comments in this review:
|
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-logical-warp-load-store
branch
from
September 18, 2026 19:15
120a402 to
cab96ed
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 18, 2026 19:15
2e1232c to
21b0b9d
Compare
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 18, 2026 21:53
21b0b9d to
0ced14d
Compare
tpn
changed the base branch from
codex/cuda-coop-numba-logical-warp-load-store
to
codex/cuda-coop-numba-block-load-store-algorithms
September 18, 2026 21:56
This was referenced Sep 18, 2026
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Define backend-neutral CUB BlockExchange, WarpExchange, and BlockShuffle specializations. Add portable group contracts for out-of-place results, storage, synchronization, and preconditions. Signed-off-by: Trent Nelson <trent@trent.me>
Register family-owned inference and provider selection for block and Warp Exchange plus block Shuffle. Lower storage-bearing CUB calls with scope-aware reuse barriers, input preservation, checked runtime Rotate distances, and exact logical-Warp masks. Signed-off-by: Trent Nelson <trent@trent.me>
Exercise installed-wheel exports, strict typing, metadata, and package contents for both portable and qualified APIs. Cover invalid selectors, payloads, ranks, flags, and scalar Shuffle calls. Signed-off-by: Trent Nelson <trent@trent.me>
Describe supported layouts, scatter preconditions, storage ownership, barriers, Shuffle boundaries, and runtime Rotate traps. Update API coverage without promising deferred boundary results. Signed-off-by: Trent Nelson <trent@trent.me>
State the signed int32 provider ABI for Offset and distinguish ABI overflow traps from ordinary out-of-block source behavior. Exercise both overflow directions in isolated subprocesses. Signed-off-by: Trent Nelson <trent@trent.me>
Require string selectors across portable and qualified APIs, including planner, rewrite, and provider validation. Reuse the portable Exchange mode alias and keep qualified extensions block-only so Warp retains the shared layout contract. Signed-off-by: Trent Nelson <trent@trent.me>
Accept structural read-only payloads for Exchange and Shuffle inputs, including Exchange ranks and valid flags. Keep mutable result typing for both portable and qualified APIs. Reject enum-backed modes and distance compatibility objects before provider selection so runtime validation matches literal-only stubs. Signed-off-by: Trent Nelson <trent@trent.me>
Mirror portable input and result annotations in qualified markers. Keep Block Exchange ranks and flags as qualified-only controls. Treat time slicing the same way and assert the shared runtime contract. Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Check production barrier ordering and masks at every logical warp width. Exercise repeated exchanges with independently progressing groups, and require racecheck to detect the test-only missing-barrier control. Signed-off-by: Trent Nelson <trent@trent.me> (cherry picked from commit ae5ec63eb17220ce8a1b46369f7a8470e040e271)
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 20, 2026 02:56
fadf5c0 to
ecec1c5
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-exchange-shuffle
branch
from
September 20, 2026 02:56
0ced14d to
0ce85aa
Compare
Contributor
🥳 CI Workflow Results🟩 Finished in 19m 17s: Pass: 100%/8 | Total: 1h 03m | Max: 18m 40sSee results here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this is needed
Kernels often need to rearrange per-thread values after loading them. This
adds common Exchange and Shuffle APIs with their Numba-CUDA-MLIR providers,
using the group, storage, and synchronization contracts from #11200.
What changes
exchangeconverts blocked and striped layouts for Block, physicalWarp, and logical Warp groups. The backend API also supports Block-only
warp-striped, scatter, guarded/flagged, ranks/flags, and warp-time-slicing
forms.
shuffleprovides unitupanddownoperations. The backendAPI adds scalar
offsetandrotateforms.that CUB uses internally. Mode selectors are lowercase strings.
Block or exact-mask Warp reuse barrier. Payload shapes, dtypes, ranks,
flags, selectors, and runtime distance ABIs are checked before compilation.
Compile tests verify barrier placement and masks at all six Warp widths.
Runtime tests repeatedly reuse scratch while sibling groups execute different
iteration counts, with each group converged. Opt-in racecheck tests compare
production barriers with a test-only control that removes the reuse barrier.
Warp scatter and Shuffle boundary-output projections remain unsupported.
Invalid runtime
rotatebounds oroffsetvalues outside the signed-32-bitprovider ABI trap the device; failure tests use isolated processes.
Stacked on #11200.
Validation
Fresh installed-wheel checks at
0ce85aab9385:Wheel validation and source, installed-package, and bundled-header comparisons passed.
Remote CI passed at
0ce85aab9385: GitHub Actions run. All exact-head checks and statuses, including pre-commit, are successful or conditionally skipped.