feat!: structured public inputs via kernel io#15383
Merged
Merged
Conversation
…tered (#15313) We make the folding of Apps share a transcript until a kernel is encountered.
Bigfield internal audit related cleanup/fixes. - Simplified data structs: `non_native_multiplication_witnesses` and `non_native_partial_multiplication_witnesses` - Reduced code duplication with new functions like `get_binary_basis_limb_witness_indices` - Resolved/removed some of the TODOs resolves #14662 #14660 resolves AztecProtocol/barretenberg#999 resolves #14658
ledwards2225
commented
Jun 27, 2025
ledwards2225
commented
Jun 27, 2025
1829e9a to
83791b3
Compare
141bfcd to
74bac59
Compare
I used this to get the benchmark results in #15403 (comment)
chrome: Distribute content equally among threads within each range The original code gives each thread the same number of rows but the same number of rows in each range does not necessarily mean the same work. This PR makes sure that for each range, each thread gets roughly the same number of rows. The leftovers are also evenly distributed because if we give them to the last thread for each range, the total worst case the last thread can get O(num_thread * num_ranges) more rows than others.
Contributor
There was a problem hiding this comment.
Do we still need to keep these PublicComponentKeys?
42b65c1 to
8369b3f
Compare
federicobarbacovi
approved these changes
Jul 8, 2025
federicobarbacovi
left a comment
Contributor
There was a problem hiding this comment.
Looks good to me, just a few minor comments!
Contributor
Author
We no longer need them no because with this update they're no longer "used", but removing them altogether means removing them from the VKs which would have expanded the scope here quite a bit. I'm hoping to eliminate the need for all |
2abe998 to
3330e1c
Compare
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Jul 9, 2025
See [merge-train-readme.md](https://github.com/AztecProtocol/aztec-packages/blob/next/.github/workflows/merge-train-readme.md). BEGIN_COMMIT_OVERRIDE chore: stdlib bool internal audit (#15070) feat: improve Shplonk api (#15422) fix(merge-train): don't queue merge if merge-train failed queue, pass on rebase logic (#15508) chore: nuke bit array (#15522) chore: remove template parameters (#15530) chore: no PK (#15386) chore!: Correct public inputs propagation in the tube (#15547) chore: use `batch_invert` in native IPA verifier (#15557) chore: Move `stdlib::uint_plookup` to `stdlib::uint` (#15460) chore: use const ref commitment keys (#15584) fix: hiding circuit vk computed only once (#15589) feat: transcript can hash objects independently (#15510) chore: readme for benchmarking remotely (#15512) chore: fix avm test (#15592) chore: hash more stuff for IPA. (#15519) chore: fix avm build in merge-train/bb (#15594) feat!: structured public inputs via kernel io (#15383) fix!: aggregate correct nested pairing points in the hiding circuit (#15598) fix: bb merge-train conflicts (#15617) chore: Refactor shplonk verifier api (#15618) chore!: databus consistency checks in the hiding circuit (#15599) feat!: VK hash consistency check (#15591) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com> Co-authored-by: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com> Co-authored-by: Suyash Bagad <suyash@aztecprotocol.com> Co-authored-by: Jonathan Hao <jonathan@aztec-labs.com> Co-authored-by: ledwards2225 <98505400+ledwards2225@users.noreply.github.com> Co-authored-by: Raju Krishnamoorthy <krishnamoorthy@gmail.com> Co-authored-by: notnotraju <raju@aztec-labs.com> Co-authored-by: Lucas Xia <lucasxia01@gmail.com> Co-authored-by: Khashayar Barooti <khashayar@aztecprotocol.com> Co-authored-by: Jean M <132435771+jeanmon@users.noreply.github.com> Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com> Co-authored-by: Santiago Palladino <spalladino@users.noreply.github.com> Co-authored-by: Santiago Palladino <santiago@aztec-labs.com>
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.
Introduces the
KernelIOclass/mechanism to begin unifying the handling of certain fixed internal public inputs.app/kernel_return_data_commitment_pub_input_keyin DataBusPropagationData (but they are not yet removed from the VKs)Closes AztecProtocol/barretenberg#1371