Skip to content

Pr271 simplified - #272

Merged
TomWambsgans merged 3 commits into
mainfrom
pr271-simplified
Sep 4, 2026
Merged

TomWambsgans merged 3 commits into
mainfrom
pr271-simplified

Conversation

@TomWambsgans

Copy link
Copy Markdown
Collaborator

see #271

jsign and others added 3 commits September 4, 2026 11:00
GKR computes the next round message from folded values in a small local buffer.

PCS combines overlapping claims in paired lane windows, then computes the first sumcheck message from the complete weights.

On eligible x86 targets, large extension NTTs reuse the base-field NTT through a coefficient view that requires no copy.

The public API, protocol, and transcript order remain unchanged.
The size gate on the fused lifted-weight build never selected the dense
path in practice: an aggregate opens the stack at 2^26 words and the
recursion at 2^24, against a 2^16 threshold, and the pcs tests were the
only caller below it. Routing those through the fused build passes, so
the second path was dead weight.

Deleting it takes claim_write_plan, fold_stacked_point_claims and
add_eq_table_ext_seeded with it, and reduces combine_deferred_into to
its combine_deferred_chunk core. fused_basis_matches_dense_weights keeps
its differential coverage against a naive eq tensor written in the test,
which shares no code with the build under test.

Net 211 lines lighter than the parent, and 220 SPHINCS measures 2.944 s
against the parent's 2.942 s on a Ryzen 7 PRO 8700GE.
Every caller now arrives with a zeroed destination: `basis::build` fills
its window before folding into it, and the three test sites allocate
zeroed vectors. The first-claim write that let a caller skip pre-zeroing
had no remaining beneficiary, and unlike the hoisted version it came
from, the branch sat inside the innermost loop.

Also records why `QuaternaryLayerState::fold` cannot fold into
`fold_and_message`: the last `shrink_eq_low` empties the equality table,
so the final round has nothing to weight a message by. Replacing it
panics with a zero-length table in the lean_compiler suite.
@TomWambsgans
TomWambsgans merged commit 5745216 into main Sep 4, 2026
5 checks passed
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.

2 participants