feat: multiple trace structuring configurations #7408
Merged
codygunton merged 13 commits intomasterfrom Jul 11, 2024
Merged
Conversation
ledwards2225
commented
Jul 10, 2024
| Builder circuit_1 = create_mock_circuit(ivc, /*log2_num_gates=*/10); | ||
| Builder circuit_2 = create_mock_circuit(ivc, /*log2_num_gates=*/15); | ||
| Builder circuit_1 = create_mock_circuit(ivc, /*log2_num_gates=*/8); | ||
| Builder circuit_2 = create_mock_circuit(ivc, /*log2_num_gates=*/11); |
Contributor
Author
There was a problem hiding this comment.
Nothing to gain from having these be larger values so just making them a bit smaller
ledwards2225
commented
Jul 10, 2024
| BB_OP_COUNT_TIME(); | ||
| const size_t degree = polynomial.size(); | ||
| ASSERT(degree <= srs->get_monomial_size()); | ||
| if (degree > srs->get_monomial_size()) { |
Contributor
Author
There was a problem hiding this comment.
Just improving the printout here
codygunton
approved these changes
Jul 11, 2024
rahul-kothari
pushed a commit
that referenced
this pull request
Jul 15, 2024
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.46.5</summary> ## [0.46.5](aztec-package-v0.46.4...aztec-package-v0.46.5) (2024-07-14) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.46.5</summary> ## [0.46.5](barretenberg.js-v0.46.4...barretenberg.js-v0.46.5) (2024-07-14) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.46.5</summary> ## [0.46.5](aztec-packages-v0.46.4...aztec-packages-v0.46.5) (2024-07-14) ### Features * Added barrett_reduction implementation into uintx ([#6768](#6768)) ([abced57](abced57)) * Databus allows arbitrarily many reads per index ([#6524](#6524)) ([f07200c](f07200c)) * Let LSP always work in a Noir workspace if there's any (noir-lang/noir#5461) ([8403e84](8403e84)) * Multiple trace structuring configurations ([#7408](#7408)) ([e4abe1d](e4abe1d)) * Verify ClientIVC proofs through Bb binary ([#7407](#7407)) ([3760c64](3760c64)) ### Bug Fixes * Lagrange interpolation ([#7440](#7440)) ([76bcd72](76bcd72)) * Move BigInt modulus checks to runtime in brillig (noir-lang/noir#5374) ([8403e84](8403e84)) * Run macro processors in the elaborator (noir-lang/noir#5472) ([8403e84](8403e84)) ### Miscellaneous * Keccak256 in Noir (noir-lang/noir#5316) ([8403e84](8403e84)) * Redo typo PR by omahs (noir-lang/noir#5487) ([8403e84](8403e84)) * Replace relative paths to noir-protocol-circuits ([e89bfd8](e89bfd8)) * Replace relative paths to noir-protocol-circuits ([fae353e](fae353e)) ### Documentation * Minor comments for private refunds/partial notes ([#7447](#7447)) ([9bcbb6c](9bcbb6c)) </details> <details><summary>barretenberg: 0.46.5</summary> ## [0.46.5](barretenberg-v0.46.4...barretenberg-v0.46.5) (2024-07-14) ### Features * Added barrett_reduction implementation into uintx ([#6768](#6768)) ([abced57](abced57)) * Databus allows arbitrarily many reads per index ([#6524](#6524)) ([f07200c](f07200c)) * Multiple trace structuring configurations ([#7408](#7408)) ([e4abe1d](e4abe1d)) * Verify ClientIVC proofs through Bb binary ([#7407](#7407)) ([3760c64](3760c64)) ### Bug Fixes * Lagrange interpolation ([#7440](#7440)) ([76bcd72](76bcd72)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
AztecBot
added a commit
to AztecProtocol/barretenberg
that referenced
this pull request
Jul 16, 2024
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.46.5</summary> ## [0.46.5](AztecProtocol/aztec-packages@aztec-package-v0.46.4...aztec-package-v0.46.5) (2024-07-14) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.46.5</summary> ## [0.46.5](AztecProtocol/aztec-packages@barretenberg.js-v0.46.4...barretenberg.js-v0.46.5) (2024-07-14) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.46.5</summary> ## [0.46.5](AztecProtocol/aztec-packages@aztec-packages-v0.46.4...aztec-packages-v0.46.5) (2024-07-14) ### Features * Added barrett_reduction implementation into uintx ([#6768](AztecProtocol/aztec-packages#6768)) ([abced57](AztecProtocol/aztec-packages@abced57)) * Databus allows arbitrarily many reads per index ([#6524](AztecProtocol/aztec-packages#6524)) ([f07200c](AztecProtocol/aztec-packages@f07200c)) * Let LSP always work in a Noir workspace if there's any (noir-lang/noir#5461) ([8403e84](AztecProtocol/aztec-packages@8403e84)) * Multiple trace structuring configurations ([#7408](AztecProtocol/aztec-packages#7408)) ([e4abe1d](AztecProtocol/aztec-packages@e4abe1d)) * Verify ClientIVC proofs through Bb binary ([#7407](AztecProtocol/aztec-packages#7407)) ([3760c64](AztecProtocol/aztec-packages@3760c64)) ### Bug Fixes * Lagrange interpolation ([#7440](AztecProtocol/aztec-packages#7440)) ([76bcd72](AztecProtocol/aztec-packages@76bcd72)) * Move BigInt modulus checks to runtime in brillig (noir-lang/noir#5374) ([8403e84](AztecProtocol/aztec-packages@8403e84)) * Run macro processors in the elaborator (noir-lang/noir#5472) ([8403e84](AztecProtocol/aztec-packages@8403e84)) ### Miscellaneous * Keccak256 in Noir (noir-lang/noir#5316) ([8403e84](AztecProtocol/aztec-packages@8403e84)) * Redo typo PR by omahs (noir-lang/noir#5487) ([8403e84](AztecProtocol/aztec-packages@8403e84)) * Replace relative paths to noir-protocol-circuits ([e89bfd8](AztecProtocol/aztec-packages@e89bfd8)) * Replace relative paths to noir-protocol-circuits ([fae353e](AztecProtocol/aztec-packages@fae353e)) ### Documentation * Minor comments for private refunds/partial notes ([#7447](AztecProtocol/aztec-packages#7447)) ([9bcbb6c](AztecProtocol/aztec-packages@9bcbb6c)) </details> <details><summary>barretenberg: 0.46.5</summary> ## [0.46.5](AztecProtocol/aztec-packages@barretenberg-v0.46.4...barretenberg-v0.46.5) (2024-07-14) ### Features * Added barrett_reduction implementation into uintx ([#6768](AztecProtocol/aztec-packages#6768)) ([abced57](AztecProtocol/aztec-packages@abced57)) * Databus allows arbitrarily many reads per index ([#6524](AztecProtocol/aztec-packages#6524)) ([f07200c](AztecProtocol/aztec-packages@f07200c)) * Multiple trace structuring configurations ([#7408](AztecProtocol/aztec-packages#7408)) ([e4abe1d](AztecProtocol/aztec-packages@e4abe1d)) * Verify ClientIVC proofs through Bb binary ([#7407](AztecProtocol/aztec-packages#7407)) ([3760c64](AztecProtocol/aztec-packages@3760c64)) ### Bug Fixes * Lagrange interpolation ([#7440](AztecProtocol/aztec-packages#7440)) ([76bcd72](AztecProtocol/aztec-packages@76bcd72)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
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.
Adds more flexibility in setting the fixed block sizes in the execution trace when using the structured trace option.
When using ClientIvc, a structured trace is generally always needed since we cannot fold circuits of different size. Previously, we could only specify a single set of fixed block sizes per arithmetization (Ultra/Mega). This is inconvenient since things like the full e2e test require massive block sizes, and we'd like to be able to accommodate this without making simple tests expensive and throwing off our ClientIvc benchmarks. Eventually this mechanism (or something similar) could be used to define optimal structuring for specific Aztec applications.
Note: As part of this PR I've separated the arithmetizations for Standard/Ultra/Mega (previously all in
arithmetization.hpp) into their own files to improve clarity. This accounts for the bulk of the large diff.