Conversation
|
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. |
3e20e0b to
b034a29
Compare
bd4fd9b to
3ffc4fd
Compare
Accept compiler class metadata through readonly scalar properties. Keep integer payload type variables within the signed and unsigned scalar domain shared by the backend stubs. Signed-off-by: Trent Nelson <trent@trent.me>
Resolve group methods from exact compiler launch facts and preserve the unsigned query result types. Keep mapped group metadata storage-free. Route built-in Reduce and Sum through the shared CUDAX and CUB plans, with checked prefix counts, result ownership, and safe scratch reuse. Signed-off-by: Trent Nelson <trent@trent.me>
3ffc4fd to
8511575
Compare
b034a29 to
1500e1e
Compare
This comment has been minimized.
This comment has been minimized.
|
@coderabbitai full review |
✅ Action performedFull review finished. |
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA/cccl/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (31)
Included review availability: Your plan provides up to 12 included reviews per hour; 7 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughChangesThe CUTLASS backend now supports typed thread-group queries, synchronization, membership checks, and group reductions. The PR adds CUDAX/CUB lowering, public APIs, documentation, examples, extensive compile/runtime tests, and wheel and typing validation. CUTLASS cooperative groups
Priority: ⬇️ Low Change: Feature Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk remains from the finalized findings. Comment |
8511575 to
8959421
Compare
1500e1e to
41d8083
Compare
This comment has been minimized.
This comment has been minimized.
8959421 to
e3948d1
Compare
41d8083 to
a0c7d38
Compare
🥳 CI Workflow Results🟩 Finished in 32m 28s: Pass: 100%/8 | Total: 1h 14m | Max: 28m 30sSee results here. |
Prerequisite: #11529.
CuTe kernels can query group membership, rank, and size, synchronize supported
groups, and compute built-in reductions and sums. The implementation covers
thread, warp, block, mapped, and cluster groups within the shared planner's
supported profiles. It uses exact compiler launch facts to select the group
and determine participation.
The planner selects CUDAX for supported full-group reductions and CUB for
valid scalar prefixes or explicit block algorithms. Results retain the common
visibility contract: a result without broadcast is defined only at group rank
zero. Inputs are preserved. Mapped-warp reductions require parent-block
participation, including nonmembers.
A separate shared typing commit accepts read-only compiler metadata and fixes
integer payload bounds. Scalar results remain CuTe values. The layer includes
qualified typing, an executable example, and documentation of participation
and result ownership. Custom operators remain unsupported.
Validation
Tests cover supported numeric dtypes, scalar and payload results, prefix
validation before narrowing, result chaining, multidimensional groups,
nonmembers, and two-block clusters. Mixed Load/Reduce/Store traces, focused
race checks, and final-cubin inspection cover both planner routes and scratch
reuse. Shared scalar typing consumers cover both backends.
These tests passed in the prior 12-layer tip's local regression on Linux with
CUDA 13.3 and SM 120, using a compatible development compiler. That
run covered the prior cumulative tip; intermediate PR heads have not been separately
rerun. Official public CUTLASS artifacts remain unqualified.
Final integrated regression: Passed: 879 shared-contract checks, 1,415 Numba host/compiler checks, 798 Numba GPU checks, seven standalone Numba commands, 1,757 CUTLASS host/compiler checks, and 2,136 CUTLASS GPU/compiler-lifecycle checks. Both GPU suites ran with race checking enabled; there were no failures or skips.
Final installed-wheel qualification: Fresh-wheel checks passed: all 252 Python sources/stubs match the final source, 40 packaging/typing tests passed, and base-only imports plus four mixed-backend activation cases passed. Installed GPU consumers passed 20 common/qualified example runs, four storage variants, runtime-first and disabled-auto-registration modes, and three executable guide tests.
Final documentation qualification: Full Sphinx rendered with only three existing libcu++ warnings; focused cooperative pages build without warnings. API signatures, 39 source excerpts, downloads, anchors, and local links pass. Local and live browser checks passed for 32 CUTLASS objects and all 14 explorers. The published docs match the tested source; 396 served resources match build hashes and the separate Numba docs remain unchanged.
Stack
Part 5 of 16 above #11392. Previous: #11529 · Next: #11531.
Complete stack and current common API coverage: #11541.