Skip to content

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

Closed

Description

@gHashTag

The duplicate-bodies workflow ("Duplicate Body Ratchet") fails on master since #10855 added specs/igla/coder/hslm_bwd_ptx.t27: twelve PTX emitter helpers are byte-identical copies of the ones in specs/igla/coder/ternary_gemm_ptx.t27, and none of the groups is in tools/duplicate_bodies_baseline.txt. Every open PR inherits the red. Supersedes the shape-refused #10930 and the duplicate-bodies part of #10935.

Boundary

User Scenarios

  • A contributor opens a PR and sees duplicate-bodies red with the names at_text, code_at, count_text, emit_epilogue, emit_lds, emit_mma_step, emit_store, ins, put_quad, put_s, put_u, weight, none of which the PR touched.
  • A maintainer changes the PTX text writer once and both the forward and the backward kernel pick it up.

Requirements

  • FR-001: The twelve helpers MUST live in one spec, specs/igla/coder/ptx_emit.t27, and both PTX specs MUST use it instead of keeping a copy.
  • FR-002: The emitted PTX text MUST NOT change: every existing test of both specs still passes, 0 vacuous.
  • FR-003: The new spec MUST carry its own tests (L4) and be sealed; the two importers MUST be resealed and their gen-rust output regenerated by t27c, not by hand.
  • FR-004: The duplicate-body ledger scan MUST report no new and no grown group, with no new ledger row.

Success Criteria

  • gh run list --repo gHashTag/t27 --workflow "Duplicate Body Ratchet" --branch master -L 1 --json conclusion --jq '.[0].conclusion' prints success on the master tip after the fix merges.
  • The ledger scan (tools/dupe_scan.py) prints ok: no new duplicate body, and none of the known groups grew.
  • t27c test-report on ptx_emit.t27, ternary_gemm_ptx.t27 and hslm_bwd_ptx.t27 on the Railway lab: all pass, 0 vacuous; t27c seal --verify prints all hashes MATCH for the three.

Activity

  1. added a commit that references this issue on Oct 19, 2026
    08c533e
  2. added a commit that references this issue on Oct 19, 2026
    77802e3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions