Skip to content

Add CUTLASS windowed and bulk Run Length Decode - #11540

Draft
tpn wants to merge 1 commit into
codex/cuda-coop-cutlass-13-histogramfrom
codex/cuda-coop-cutlass-14-run-length
Draft

tpn wants to merge 1 commit into
codex/cuda-coop-cutlass-13-histogramfrom
codex/cuda-coop-cutlass-14-run-length

Conversation

@tpn

@tpn tpn commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Prerequisite: #11539.

CuTe kernels can now expand compressed runs through both common Run Length
Decode operations. The window form returns fresh blocked payloads and fills
positions beyond the stream with zero. The bulk form writes the full stream
to a contiguous one-dimensional global-memory tensor and returns the uint32
decoded total to every block member. Both preserve the run inputs.

The adapter reuses the shared checked CUB driver. It validates length order,
negative lengths, decoded-total overflow, offsets, and destination capacity
before decoding or writing. Bulk calls retain their prepared run table across
all internal windows. Exact scratch supports implicit allocation or explicit
shared/exclusive reuse. Bare destination pointers are rejected because they
cannot establish capacity.

Qualified calls add CuTe register payloads. Auxiliary total/relative-offset
outputs and uint64 decoded totals remain Numba-qualified extensions. The layer
includes typed signatures, packaging checks, API documentation, and a tested
example composing window and bulk calls through one scratch descriptor.

Validation

Focused checks passed: 118 host/compile/shared-driver cases and 75 GPU cases.
Independent references cover supported value and length types, empty and
partial windows, input preservation, every-member totals, dynamic capacity,
and repeated scratch reuse. Invalid runtime inputs trap in isolated tests.
Racecheck found zero hazards, and window/bulk final cubins contain no provider
call. Strict typing and changed-file checks passed.

Focused GPU qualification used local Linux with CUDA 13.3 and SM 120, using
a compatible development compiler. Official public CUTLASS artifacts remain
unqualified; this adds no public CUTLASS extra or minimum-version claim.

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 15 of 16 above #11392. Previous: #11539 · Next: #11541.
Complete stack and current common API coverage: #11541.

@copy-pr-bot

copy-pr-bot Bot commented Sep 21, 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.

Decode bounded windows or complete run streams through the shared CUB
driver, preserving inputs and checking integer controls and capacity.
Expose common and qualified entry points with typed results, deferred
scratch allocation, executable examples, and focused contract coverage.
@tpn
tpn force-pushed the codex/cuda-coop-cutlass-14-run-length branch from d114d57 to c31e4e8 Compare September 21, 2026 04:31
@tpn
tpn force-pushed the codex/cuda-coop-cutlass-13-histogram branch from 82fff57 to c1a8b6e Compare September 21, 2026 04:31
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