Repository navigation
Conversation
This was referenced Oct 19, 2026
Merged
gHashTag
force-pushed
the
claude/hslm-dw-splitk
branch
from
October 19, 2026 07:04
330075d to
96eb8c6
Compare
gHashTag
changed the base branch from
claude/hslm-ptx-backward-0d1f39
to
master
October 19, 2026 07:04
This was referenced Oct 19, 2026
gHashTag
force-pushed
the
claude/hslm-dw-splitk
branch
from
October 19, 2026 07:11
96eb8c6 to
caed7b0
Compare
Contributor
7 of 8 tasks
This was referenced Oct 19, 2026
Merged
Merged
This was referenced Oct 19, 2026
Merged
Merged
docs(t27o): RFC for heap-free collections, owned strings and inlined closures (Closes #11177)
#11180
Merged
Merged
This branch has not been deployed
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.
Closes #10895
Follows #10855 (merged, fc611e7): kernel 3 builds on kernels 1 and 2. Rebased onto master after the squash; the diff is only the split-K change (spec, its regenerated Rust and seal, and
driver.rs, net 0 lines).CI note:
t27b-native-ratchet,Corpus ratchet (expected-failure ledger), duplicate-bodies, the orphan ceiling and the types Range check were already red when #10855 merged (non-required). This PR does not bless the ledgers: that needs a full t27b lab corpus run and would also bless three unrelated specs (sar_adc, ngram_hslm, reap) that sit UNLISTED today, so it belongs in a ledger-steward change.What
specs/igla/coder/hslm_bwd_ptx.t27gains kernel 3,hslm_dw_splitk_s8: kernel 2 (dW = X^T x dY) split along k.per = ceil(ceil(k/32)/nz)read from%nctaid.zin the kernel.red.global.add.s32of its i32 partials into C. The host zeroes C before each launch (zero_first()), so the result equals kernel 2's bit for bit.grid_z()aims atSPLIT_TARGET_BLOCKS = 64blocks, never more slices than k-steps, and drops slices the rounding would leave empty (no idle block).Measured (RTX 4090, RunPod,
t27c ptx-run --iters 500 --stride 7, mismatches=0 everywhere; a stride-1 run at 256x736x1782 also reports mismatches=0)Kernel 3 is 4.2-4.9x faster than kernel 2 at K=1782 (was 11x behind CUTLASS, now 2.3-2.6x).
The goal was not reached
The issue asked for within about 1.5x of CUTLASS s8. It is at 2.3-2.6x. Honest notes:
SPLIT_TARGET_BLOCKS(8..256) is U-shaped with its floor at 48..64: fewer slices starve the SMs, more slices pay in reds.Foreign-line accounting (shrink-only budget)
bootstrap/src/host/driver.rs: net 0 lines. ThecuMemsetD32_v2declaration joins an existing extern line; the launch closure zeroes C whenzero_first(kernel)and passesgrid_z(...)as the launch's z dimension, in place.bootstrap/gen/rust/...and the seal are regenerated on the Railway lab (test-report26/26, 0 vacuous;gen-rust;seal --save).Test plan
t27c test-report specs/igla/coder/hslm_bwd_ptx.t27on the lab: 26/26, 0 vacuoust27c ptx-run --kernel 3on RTX 4090: mismatches=0 for 256x256, 256x736, 736x256 at K=1782 and 256x256 at K=27🤖 Generated with Claude Code