-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(bb): remove poly downsizing, other fast-follow from structured polys #8475
Conversation
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.54.0</summary> ## [0.54.0](aztec-package-v0.53.0...aztec-package-v0.54.0) (2024-09-10) ### Features * Archiver fork block num ([#8425](#8425)) ([a9f2364](a9f2364)) ### Miscellaneous * Merge devnet to master ([#8472](#8472)) ([26706e9](26706e9)) </details> <details><summary>barretenberg.js: 0.54.0</summary> ## [0.54.0](barretenberg.js-v0.53.0...barretenberg.js-v0.54.0) (2024-09-10) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.54.0</summary> ## [0.54.0](aztec-packages-v0.53.0...aztec-packages-v0.54.0) (2024-09-10) ### ⚠ BREAKING CHANGES * **avm:** variants for binary operations ([#8473](#8473)) * **avm:** make JUMP(I) 16-bit ([#8443](#8443)) * **avm:** variants for SET opcode ([#8441](#8441)) * **avm:** variants for MOV opcode ([#8440](#8440)) ### Features * (bb) 128-bit challenges ([#8406](#8406)) ([d5b2397](d5b2397)) * `Module::add_item` (noir-lang/noir#5947) ([8ac81b1](8ac81b1)) * Add `Expr::as_let` (noir-lang/noir#5964) ([8ac81b1](8ac81b1)) * Add `FunctionDefinition::module` and `StructDefinition::module` (noir-lang/noir#5956) ([8ac81b1](8ac81b1)) * Add `FunctionDefinition` methods `is_unconstrained` and `set_unconstrained` (noir-lang/noir#5962) ([8ac81b1](8ac81b1)) * Add `StructDefinition::add_generic` (noir-lang/noir#5961) ([8ac81b1](8ac81b1)) * Add `StructDefinition::name` (noir-lang/noir#5960) ([8ac81b1](8ac81b1)) * Add a `panic` method to the stdlib (noir-lang/noir#5966) ([8ac81b1](8ac81b1)) * Archiver fork block num ([#8425](#8425)) ([a9f2364](a9f2364)) * Arithmetic Generics (noir-lang/noir#5950) ([8ac81b1](8ac81b1)) * **avm-transpiler:** Optionally count opcode types ([#8439](#8439)) ([21c06b5](21c06b5)) * **avm/public:** User space PublicContext::get_args_hash ([#8292](#8292)) ([56ce16a](56ce16a)) * **avm:** DSL integration of AVM recursive verifier ([#8405](#8405)) ([467120e](467120e)), closes [#8285](#8285) * **avm:** Make JUMP(I) 16-bit ([#8443](#8443)) ([5bb38b1](5bb38b1)) * **avm:** Variants for binary operations ([#8473](#8473)) ([8de1f2a](8de1f2a)) * **avm:** Variants for MOV opcode ([#8440](#8440)) ([5b27fbc](5b27fbc)) * **avm:** Variants for SET opcode ([#8441](#8441)) ([dc43306](dc43306)) * **bb:** Towards reduced polynomial memory usage ([#7990](#7990)) ([372f23c](372f23c)) * Let `nargo` and LSP work well in the stdlib (noir-lang/noir#5969) ([8ac81b1](8ac81b1)) * LSP autocompletion for attributes (noir-lang/noir#5963) ([8ac81b1](8ac81b1)) * LSP now suggests self fields and methods (noir-lang/noir#5955) ([8ac81b1](8ac81b1)) * Show doc comments in LSP (noir-lang/noir#5968) ([8ac81b1](8ac81b1)) ### Bug Fixes * Add re-exports back ([#8453](#8453)) ([b6cab90](b6cab90)) * **avm:** Full proving kernel fix ([#8468](#8468)) ([684d962](684d962)) * **bb:** Mac release ([#8450](#8450)) ([1b3f914](1b3f914)) * **docs:** Some docs updates ([#8412](#8412)) ([ad73f30](ad73f30)) * Error when `quote` is used in runtime code (noir-lang/noir#5978) ([8ac81b1](8ac81b1)) * Error when comptime functions are used in runtime code (noir-lang/noir#5976) ([8ac81b1](8ac81b1)) * Fmt ([#8454](#8454)) ([34b4a8a](34b4a8a)) * Guesstimate gas for propose ([#8445](#8445)) ([bff0338](bff0338)) * Let `derive(Eq)` work for empty structs (noir-lang/noir#5965) ([8ac81b1](8ac81b1)) * LSP document symbol didn't work for primitive impls (noir-lang/noir#5970) ([8ac81b1](8ac81b1)) * **mem2reg:** Handle aliases better when setting a known value for a load (noir-lang/noir#5959) ([8ac81b1](8ac81b1)) * **mem2reg:** Handle aliases in function last store cleanup and additional alias unit test (noir-lang/noir#5967) ([8ac81b1](8ac81b1)) * Public data reads and writes verification ([#8296](#8296)) ([ae86347](ae86347)) * Restrict keccak256_injective test input to 8 bits (noir-lang/noir#5977) ([8ac81b1](8ac81b1)) * Suggest trait attributes in LSP (noir-lang/noir#5972) ([8ac81b1](8ac81b1)) ### Miscellaneous * **bb:** Remove poly downsizing, other fast-follow from structured polys ([#8475](#8475)) ([ac88f30](ac88f30)) * **ci:** Rerun ci when ready for review + don't allow draft merge ([#8456](#8456)) ([ede16d3](ede16d3)) * **docs:** Update box readme, remove duplicated features, added box install to the docs ([#8254](#8254)) ([b747ac1](b747ac1)) * Document BoundedVec (noir-lang/noir#5974) ([8ac81b1](8ac81b1)) * Document HashMap (noir-lang/noir#5984) ([8ac81b1](8ac81b1)) * Merge devnet to master ([#8472](#8472)) ([26706e9](26706e9)) * Remove 3 unused functions warnings in the stdlib (noir-lang/noir#5973) ([8ac81b1](8ac81b1)) * Remove warnings from protocol circuits ([#8420](#8420)) ([c4dbcab](c4dbcab)) * Rename files relating to what were "instances" ([#8383](#8383)) ([a934e85](a934e85)) * Replace relative paths to noir-protocol-circuits ([1c43bae](1c43bae)) </details> <details><summary>barretenberg: 0.54.0</summary> ## [0.54.0](barretenberg-v0.53.0...barretenberg-v0.54.0) (2024-09-10) ### ⚠ BREAKING CHANGES * **avm:** variants for binary operations ([#8473](#8473)) * **avm:** make JUMP(I) 16-bit ([#8443](#8443)) * **avm:** variants for SET opcode ([#8441](#8441)) * **avm:** variants for MOV opcode ([#8440](#8440)) ### Features * (bb) 128-bit challenges ([#8406](#8406)) ([d5b2397](d5b2397)) * **avm:** DSL integration of AVM recursive verifier ([#8405](#8405)) ([467120e](467120e)), closes [#8285](#8285) * **avm:** Make JUMP(I) 16-bit ([#8443](#8443)) ([5bb38b1](5bb38b1)) * **avm:** Variants for binary operations ([#8473](#8473)) ([8de1f2a](8de1f2a)) * **avm:** Variants for MOV opcode ([#8440](#8440)) ([5b27fbc](5b27fbc)) * **avm:** Variants for SET opcode ([#8441](#8441)) ([dc43306](dc43306)) * **bb:** Towards reduced polynomial memory usage ([#7990](#7990)) ([372f23c](372f23c)) ### Bug Fixes * **avm:** Full proving kernel fix ([#8468](#8468)) ([684d962](684d962)) * **bb:** Mac release ([#8450](#8450)) ([1b3f914](1b3f914)) ### Miscellaneous * **bb:** Remove poly downsizing, other fast-follow from structured polys ([#8475](#8475)) ([ac88f30](ac88f30)) * Rename files relating to what were "instances" ([#8383](#8383)) ([a934e85](a934e85)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.54.0</summary> ## [0.54.0](AztecProtocol/aztec-packages@aztec-package-v0.53.0...aztec-package-v0.54.0) (2024-09-10) ### Features * Archiver fork block num ([#8425](AztecProtocol/aztec-packages#8425)) ([a9f2364](AztecProtocol/aztec-packages@a9f2364)) ### Miscellaneous * Merge devnet to master ([#8472](AztecProtocol/aztec-packages#8472)) ([26706e9](AztecProtocol/aztec-packages@26706e9)) </details> <details><summary>barretenberg.js: 0.54.0</summary> ## [0.54.0](AztecProtocol/aztec-packages@barretenberg.js-v0.53.0...barretenberg.js-v0.54.0) (2024-09-10) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.54.0</summary> ## [0.54.0](AztecProtocol/aztec-packages@aztec-packages-v0.53.0...aztec-packages-v0.54.0) (2024-09-10) ### ⚠ BREAKING CHANGES * **avm:** variants for binary operations ([#8473](AztecProtocol/aztec-packages#8473)) * **avm:** make JUMP(I) 16-bit ([#8443](AztecProtocol/aztec-packages#8443)) * **avm:** variants for SET opcode ([#8441](AztecProtocol/aztec-packages#8441)) * **avm:** variants for MOV opcode ([#8440](AztecProtocol/aztec-packages#8440)) ### Features * (bb) 128-bit challenges ([#8406](AztecProtocol/aztec-packages#8406)) ([d5b2397](AztecProtocol/aztec-packages@d5b2397)) * `Module::add_item` (noir-lang/noir#5947) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add `Expr::as_let` (noir-lang/noir#5964) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add `FunctionDefinition::module` and `StructDefinition::module` (noir-lang/noir#5956) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add `FunctionDefinition` methods `is_unconstrained` and `set_unconstrained` (noir-lang/noir#5962) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add `StructDefinition::add_generic` (noir-lang/noir#5961) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add `StructDefinition::name` (noir-lang/noir#5960) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Add a `panic` method to the stdlib (noir-lang/noir#5966) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Archiver fork block num ([#8425](AztecProtocol/aztec-packages#8425)) ([a9f2364](AztecProtocol/aztec-packages@a9f2364)) * Arithmetic Generics (noir-lang/noir#5950) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * **avm-transpiler:** Optionally count opcode types ([#8439](AztecProtocol/aztec-packages#8439)) ([21c06b5](AztecProtocol/aztec-packages@21c06b5)) * **avm/public:** User space PublicContext::get_args_hash ([#8292](AztecProtocol/aztec-packages#8292)) ([56ce16a](AztecProtocol/aztec-packages@56ce16a)) * **avm:** DSL integration of AVM recursive verifier ([#8405](AztecProtocol/aztec-packages#8405)) ([467120e](AztecProtocol/aztec-packages@467120e)), closes [#8285](AztecProtocol/aztec-packages#8285) * **avm:** Make JUMP(I) 16-bit ([#8443](AztecProtocol/aztec-packages#8443)) ([5bb38b1](AztecProtocol/aztec-packages@5bb38b1)) * **avm:** Variants for binary operations ([#8473](AztecProtocol/aztec-packages#8473)) ([8de1f2a](AztecProtocol/aztec-packages@8de1f2a)) * **avm:** Variants for MOV opcode ([#8440](AztecProtocol/aztec-packages#8440)) ([5b27fbc](AztecProtocol/aztec-packages@5b27fbc)) * **avm:** Variants for SET opcode ([#8441](AztecProtocol/aztec-packages#8441)) ([dc43306](AztecProtocol/aztec-packages@dc43306)) * **bb:** Towards reduced polynomial memory usage ([#7990](AztecProtocol/aztec-packages#7990)) ([372f23c](AztecProtocol/aztec-packages@372f23c)) * Let `nargo` and LSP work well in the stdlib (noir-lang/noir#5969) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * LSP autocompletion for attributes (noir-lang/noir#5963) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * LSP now suggests self fields and methods (noir-lang/noir#5955) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Show doc comments in LSP (noir-lang/noir#5968) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) ### Bug Fixes * Add re-exports back ([#8453](AztecProtocol/aztec-packages#8453)) ([b6cab90](AztecProtocol/aztec-packages@b6cab90)) * **avm:** Full proving kernel fix ([#8468](AztecProtocol/aztec-packages#8468)) ([684d962](AztecProtocol/aztec-packages@684d962)) * **bb:** Mac release ([#8450](AztecProtocol/aztec-packages#8450)) ([1b3f914](AztecProtocol/aztec-packages@1b3f914)) * **docs:** Some docs updates ([#8412](AztecProtocol/aztec-packages#8412)) ([ad73f30](AztecProtocol/aztec-packages@ad73f30)) * Error when `quote` is used in runtime code (noir-lang/noir#5978) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Error when comptime functions are used in runtime code (noir-lang/noir#5976) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Fmt ([#8454](AztecProtocol/aztec-packages#8454)) ([34b4a8a](AztecProtocol/aztec-packages@34b4a8a)) * Guesstimate gas for propose ([#8445](AztecProtocol/aztec-packages#8445)) ([bff0338](AztecProtocol/aztec-packages@bff0338)) * Let `derive(Eq)` work for empty structs (noir-lang/noir#5965) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * LSP document symbol didn't work for primitive impls (noir-lang/noir#5970) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * **mem2reg:** Handle aliases better when setting a known value for a load (noir-lang/noir#5959) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * **mem2reg:** Handle aliases in function last store cleanup and additional alias unit test (noir-lang/noir#5967) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Public data reads and writes verification ([#8296](AztecProtocol/aztec-packages#8296)) ([ae86347](AztecProtocol/aztec-packages@ae86347)) * Restrict keccak256_injective test input to 8 bits (noir-lang/noir#5977) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Suggest trait attributes in LSP (noir-lang/noir#5972) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) ### Miscellaneous * **bb:** Remove poly downsizing, other fast-follow from structured polys ([#8475](AztecProtocol/aztec-packages#8475)) ([ac88f30](AztecProtocol/aztec-packages@ac88f30)) * **ci:** Rerun ci when ready for review + don't allow draft merge ([#8456](AztecProtocol/aztec-packages#8456)) ([ede16d3](AztecProtocol/aztec-packages@ede16d3)) * **docs:** Update box readme, remove duplicated features, added box install to the docs ([#8254](AztecProtocol/aztec-packages#8254)) ([b747ac1](AztecProtocol/aztec-packages@b747ac1)) * Document BoundedVec (noir-lang/noir#5974) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Document HashMap (noir-lang/noir#5984) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Merge devnet to master ([#8472](AztecProtocol/aztec-packages#8472)) ([26706e9](AztecProtocol/aztec-packages@26706e9)) * Remove 3 unused functions warnings in the stdlib (noir-lang/noir#5973) ([8ac81b1](AztecProtocol/aztec-packages@8ac81b1)) * Remove warnings from protocol circuits ([#8420](AztecProtocol/aztec-packages#8420)) ([c4dbcab](AztecProtocol/aztec-packages@c4dbcab)) * Rename files relating to what were "instances" ([#8383](AztecProtocol/aztec-packages#8383)) ([a934e85](AztecProtocol/aztec-packages@a934e85)) * Replace relative paths to noir-protocol-circuits ([1c43bae](AztecProtocol/aztec-packages@1c43bae)) </details> <details><summary>barretenberg: 0.54.0</summary> ## [0.54.0](AztecProtocol/aztec-packages@barretenberg-v0.53.0...barretenberg-v0.54.0) (2024-09-10) ### ⚠ BREAKING CHANGES * **avm:** variants for binary operations ([#8473](AztecProtocol/aztec-packages#8473)) * **avm:** make JUMP(I) 16-bit ([#8443](AztecProtocol/aztec-packages#8443)) * **avm:** variants for SET opcode ([#8441](AztecProtocol/aztec-packages#8441)) * **avm:** variants for MOV opcode ([#8440](AztecProtocol/aztec-packages#8440)) ### Features * (bb) 128-bit challenges ([#8406](AztecProtocol/aztec-packages#8406)) ([d5b2397](AztecProtocol/aztec-packages@d5b2397)) * **avm:** DSL integration of AVM recursive verifier ([#8405](AztecProtocol/aztec-packages#8405)) ([467120e](AztecProtocol/aztec-packages@467120e)), closes [#8285](AztecProtocol/aztec-packages#8285) * **avm:** Make JUMP(I) 16-bit ([#8443](AztecProtocol/aztec-packages#8443)) ([5bb38b1](AztecProtocol/aztec-packages@5bb38b1)) * **avm:** Variants for binary operations ([#8473](AztecProtocol/aztec-packages#8473)) ([8de1f2a](AztecProtocol/aztec-packages@8de1f2a)) * **avm:** Variants for MOV opcode ([#8440](AztecProtocol/aztec-packages#8440)) ([5b27fbc](AztecProtocol/aztec-packages@5b27fbc)) * **avm:** Variants for SET opcode ([#8441](AztecProtocol/aztec-packages#8441)) ([dc43306](AztecProtocol/aztec-packages@dc43306)) * **bb:** Towards reduced polynomial memory usage ([#7990](AztecProtocol/aztec-packages#7990)) ([372f23c](AztecProtocol/aztec-packages@372f23c)) ### Bug Fixes * **avm:** Full proving kernel fix ([#8468](AztecProtocol/aztec-packages#8468)) ([684d962](AztecProtocol/aztec-packages@684d962)) * **bb:** Mac release ([#8450](AztecProtocol/aztec-packages#8450)) ([1b3f914](AztecProtocol/aztec-packages@1b3f914)) ### Miscellaneous * **bb:** Remove poly downsizing, other fast-follow from structured polys ([#8475](AztecProtocol/aztec-packages#8475)) ([ac88f30](AztecProtocol/aztec-packages@ac88f30)) * Rename files relating to what were "instances" ([#8383](AztecProtocol/aztec-packages#8383)) ([a934e85](AztecProtocol/aztec-packages@a934e85)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
@@ -53,9 +53,6 @@ void construct_lookup_read_counts(typename Flavor::Polynomial& read_counts, | |||
{ | |||
// TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace | |||
size_t offset = dyadic_circuit_size - circuit.get_tables_size(); | |||
read_counts = typename Flavor::Polynomial(circuit.get_tables_size(), dyadic_circuit_size, /*start index*/ offset); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is NOT safe to do - Its not guaranteed that all values of read_counts/tags are set below. My suggestion was to remove the TODO, not the initialization
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or maybe these polys are being initialized elsewhere? in that case that would be fine. In general the code below will only set a small subset of the poly coeffs so it would not be safe to not init the entire block to zero
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok yeah I misunderstood - looks like these are probably initialized with all the other polys in the constructor so these lines were always redundant, I guess that was your point
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I wasn't really thinking redundant - but it's weird to be inconsistent about how we down-size these polys, so I was thinking it could all be done in one place perhaps
No description provided.