Pr271 simplified - #272
Merged
Merged
Pr271 simplified#272
Conversation
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.
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.
see #271