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. |
This was referenced Sep 4, 2026
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
2 times, most recently
from
September 4, 2026 17:54
39755f7 to
a4d8965
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 6, 2026 06:42
9421804 to
58d3e31
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 6, 2026 06:42
a4d8965 to
1b61cfd
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
4 times, most recently
from
September 9, 2026 20:58
80778a3 to
c76bed3
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
2 times, most recently
from
September 9, 2026 21:29
81dd113 to
f115dac
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
2 times, most recently
from
September 9, 2026 22:02
198a2cb to
e4fd6ae
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
2 times, most recently
from
September 10, 2026 21:18
dc19bae to
650a97b
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 14, 2026 17:11
30d5f9f to
d306544
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
2 times, most recently
from
September 14, 2026 18:41
6f10d8f to
4c7cdd3
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 15, 2026 01:57
9f40a46 to
14c90c5
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 15, 2026 01:57
4c7cdd3 to
017abff
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 15, 2026 18:01
14c90c5 to
de827ef
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 15, 2026 18:01
017abff to
7f504c1
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 15, 2026 23:45
de827ef to
9f74170
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
2 times, most recently
from
September 16, 2026 03:34
4c37780 to
d903da9
Compare
tpn
requested review from
ericniebler and
shwina
and removed request for
a team and
Copilot
September 16, 2026 16:20
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 16, 2026 23:41
d903da9 to
7869cbe
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
A critical issue remains with forwarding temp_storage to storage-free factories.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Completes execution support for all six CUB Block Load/Store algorithms across portable and qualified APIs, including storage planning, payload preservation, synchronization, diagnostics, and expanded tests.
Changes:
- Adds storage-free and storage-bearing provider routing.
- Preserves transpose-store payloads and partial-load invalid slots.
- Expands compiler, runtime, contract, documentation, and diagnostic coverage.
File summaries
| File | Summary |
|---|---|
python/cuda_coop/tests/contracts/core/test_core_group_load_store.py |
Tests algorithm identities and storage contracts. |
python/cuda_coop/tests/contracts/core/test_core_block_load_store.py |
Tests algorithm specializations and preservation behavior. |
python/cuda_coop/tests/backends/numba_mlir/unit/test_data_movement.py |
Tests planning and rewrite behavior. |
python/cuda_coop/tests/backends/numba_mlir/runtime/test_block_load_store.py |
Adds runtime coverage for all algorithms. |
python/cuda_coop/tests/backends/numba_mlir/compile/test_storage_diagnostics.py |
Tests shared-memory diagnostics. |
python/cuda_coop/tests/backends/numba_mlir/compile/test_block_load_store_compile.py |
Tests provider compilation and caching. |
python/cuda_coop/README.md |
Documents algorithms and storage behavior. |
python/cuda_coop/cuda/coop/numba_mlir/_lowering/_load_store.py |
Registers algorithm-specific providers. |
python/cuda_coop/cuda/coop/numba_mlir/_compiler/_group_planner.py |
Supports keyword local-array shapes. |
python/cuda_coop/cuda/coop/numba_mlir/_compiler/_group_load_store.py |
Plans storage and provider lowering. |
python/cuda_coop/cuda/coop/_core/group/load_store.py |
Expands algorithm and storage contracts. |
python/cuda_coop/cuda/coop/_core/block/load_store.py |
Adds CUB specializations and preservation wrappers. |
docs/python/coop.rst |
Documents execution and storage behavior. |
docs/python/coop_api.rst |
Updates qualified API documentation. |
Review details
- Files reviewed: 14/14 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 18, 2026 19:15
886e6e0 to
f723981
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 18, 2026 19:15
7869cbe to
d86f950
Compare
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 18, 2026 21:53
d86f950 to
fadf5c0
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 18, 2026 21:53
f723981 to
f43a204
Compare
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.
Register the common load/store API with Numba-CUDA-MLIR and lower all Block and Warp algorithms through CUB, including logical warp groups. Provide optional compiler dependencies and compile/runtime coverage. Signed-off-by: Trent Nelson <trent@trent.me>
This comment has been minimized.
This comment has been minimized.
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store
branch
from
September 20, 2026 02:56
f43a204 to
bd1da34
Compare
tpn
force-pushed
the
codex/cuda-coop-numba-block-load-store-algorithms
branch
from
September 20, 2026 02:56
fadf5c0 to
ecec1c5
Compare
Contributor
🥳 CI Workflow Results🟩 Finished in 3h 20m: Pass: 100%/558 | Total: 7d 04h | Max: 2h 16m | Hits: 99%/855781See 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
The common API in #11182 needs a compiler integration to execute inside GPU
kernels. This adds Numba-CUDA-MLIR lowering for the complete Block, physical
Warp, and logical Warp Load/Store surface.
Install the extra for the matching CUDA major, then register before compiling:
python -m pip install "cuda-coop[numba-cuda-mlir-cu13]"Registration works with either import order, is safe to repeat, and also
accepts
"numba_cuda_mlir". Numba-first automatic registration remainsavailable.
import cuda.coop.numba_mlir as numba_coopregisters the backendand exposes its memory namespaces. The base wheel includes this integration.
The CUDA 12/13 extras install the same wheel and add the required backend
dependencies; the base installation declares no Python package dependencies.
Load/Store behavior
direct,striped,vectorizetranspose,warp_transpose,warp_transpose_timeslicedtransposeLoad mutates its supplied
ThreadDataand returnsNone. Transpose Storepreserves its input payload. Partial Load preserves invalid slots unless
oob_defaultis supplied. Each Warp group addresses its own consecutive tile;offsetis applied afterward andvalid_itemsis relative to that tile.Block operations support caller-supplied
TempStorage; Warp operations usecompiler-owned storage. Shared and exclusive allocations both synchronize
by default.
auto_sync=Falsetransfers reuse synchronization to the caller.Runtime controls must be uniform within the selected group, and callers must
keep
valid_itemswithin the tile bounds. Invalid runtime bounds trap beforenarrowing to the CUB ABI.
The adapter validates dtypes, alignment, supported group forms, descriptor
provenance, and shared-memory compatibility before provider generation.
Collective helpers must inline into their kernels. The guarded compiler
integration supports Numba-CUDA-MLIR 0.5.x. With this compiler, user dynamic
shared arrays cannot coexist with cooperative backing; user static arrays
require static cooperative backing. Storage-free operations introduce no
such conflict.
This PR includes compile/runtime tests, Load/Store examples, and GPU-hidden
compiler plus GPU runtime CI stages. Stacked on #11182; subsequent algorithm
families start with Exchange and Shuffle in #11208.
Validation
Fresh installed-wheel checks at
ecec1c57ed97:Wheel validation and source, installed-package, and bundled-header comparisons passed.
Remote CI passed at
ecec1c57ed97: GitHub Actions run. All exact-head checks and statuses, including pre-commit, are successful or conditionally skipped.