Skip to content

Add reciprocal Kronecker multiplication - #9605

Open
kim-em wants to merge 7 commits into
mainfrom
poly-fast-kronecker-reciprocal
Open

Add reciprocal Kronecker multiplication#9605
kim-em wants to merge 7 commits into
mainfrom
poly-fast-kronecker-reciprocal

Conversation

@kim-em

@kim-em kim-em commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Implements the SPEC KS3 reciprocal-evaluation kernel in HexPolyZ:

  • packs the forward and fixed-length reciprocal evaluations
  • reconstructs overlapping coefficient slots with a linear carry-state candidate
  • certifies the candidate by bounded bidirectional repacking and falls back to a proved recurrence
  • proves mulKronecker3_eq without axioms or sorries
  • extends conformance and the crossover driver

The restored 276-cell sweep found KS3 slower than KS1 in every stable cell (2.20x median, 1.58x best), so this deliberately remains a forced kernel and does not alter production dispatch. The exact runtime-freshness exemption is valid because that dispatcher and the factorization call graph are unchanged.

Depends on #9602. This targets upstream main per repository convention; until #9602 merges, the PR includes its KS2 base commit.

Kim Morrison added 4 commits August 25, 2026 04:06
Cost model: KS2 performs two packed integer multiplications at roughly half the KS1 bit width, plus linear packing, signed recovery, and interleaving. Slot width derives from min(size) * maxAbs(p) * maxAbs(q). The crossover sweep keeps this as a forced kernel because it rarely beats the existing KS1 implementation on the current grid.
kim-em added 3 commits August 26, 2026 14:52
# Conflicts:
#	scripts/bench/proof_only_runtime_exemptions.json
# Conflicts:
#	scripts/bench/proof_only_runtime_exemptions.json
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.

1 participant