Skip to content

PTX: the 12 emitter helpers live once in ptx_emit.t27 and both kernel specs use it (Closes #10947) - #10948

Merged
gHashTag merged 1 commit into
masterfrom
claude/ptx-emit-10930
Oct 19, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/ptx-emit-10930

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10947

What

The Duplicate Body Ratchet workflow has been red on master since #10855: twelve helpers (at_text, code_at, count_text, emit_epilogue, emit_lds, emit_mma_step, emit_store, ins, put_quad, put_s, put_u, weight) were byte copies between specs/igla/coder/ternary_gemm_ptx.t27 and specs/igla/coder/hslm_bwd_ptx.t27, with no ledger row. The red blocks every open PR (for example #10572). It was previously tracked in #10930 and #10935, both closed by the issue-shape gate.

Fix

  • New specs/igla/coder/ptx_emit.t27 holds the twelve helpers once (bodies unchanged) plus 10 tests of its own.
  • Both kernel specs now use igla::coder::ptx_emit; and drop their copies (about 360 lines deleted).
  • .trinity/seals/ regenerated with t27c seal --save; bootstrap/gen/rust/igla/coder/{ternary_gemm_ptx,hslm_bwd_ptx}.rs regenerated by t27c gen-rust, which inlines the imported functions. No Rust source edit and no ledger bless.

Checked (Railway lab, not the Mac)

  • tools/dupe_scan.py: ok, no new group, no growth; self-test ok.
  • t27c seal --verify: all hashes MATCH for the three specs; parse ok.
  • Spec test runs: existing tests 21/21 and 19/19 unchanged, 0 vacuous.
  • Duplicate-declaration, agreement and devhome checks show nothing new.

Not run: the full t27c suite and ptx-run (needs a GPU); CI covers the suite.

🤖 Generated with Claude Code

… specs use it (Closes #10947)

duplicate-bodies has been red on master since #10855: put_s, put_u, ins,
put_quad, emit_lds, emit_mma_step, emit_store, emit_epilogue, code_at, weight,
at_text and count_text were byte copies between ternary_gemm_ptx.t27 and
hslm_bwd_ptx.t27, in no ledger. They move to specs/igla/coder/ptx_emit.t27
(10 tests of its own); both kernel specs `use` it. Seals regenerated, gen-rust
output regenerated by t27c (it inlines the imported functions, so no Rust edit).
Existing tests: 21/21 and 19/19, 0 vacuous, unchanged. No ledger row added.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-19 08:21:25 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 46
PRs with All Checks Green 4
READY 2
FAILING 46
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 46 + 0 + 0 = 48, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=88b8cb73ceda != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

duplicate-bodies: share the 12 PTX emitter helpers between the forward and backward PTX specs

1 participant