-
Notifications
You must be signed in to change notification settings - Fork 111
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
Better templating of gates #557
Comments
11 tasks
6 tasks
maramihali
added a commit
to AztecProtocol/aztec-packages
that referenced
this issue
Jul 31, 2023
# Description This PR provides an initial solution for having a complete grumpkin flavor in standard honk and contains the following modifications: * the `FileCrsFactory` now has functionality to produce CRSes for both curves (with their key differences) and I addressed any dependent changes in the codebase * the PCSes are now curve agnostic, having the curve set by their parameters and missing tests were added (shlponk\gemini on both grumpkin and bn254 which surfaced a bug in shplonk; unit testing gemini+shplonk+ipa as only the kzg-variant was tested) * continued work on enabling field-agnostic gates from (AztecProtocol/barretenberg#557, i have to link issues manually) * to avoid divison by zero caused by inverting the root of unity in `EvaluationDomain<grumpkin::fr>` we hardcode the roots of unity to 1 given Grumpkin does not have many roots of unity. Opens AztecProtocol/barretenberg#635 AztecProtocol/barretenberg#637 AztecProtocol/barretenberg#636, AztecProtocol/barretenberg#640 for subsequent work. # Checklist: - [ x] I have reviewed my diff in github, line by line. - [ x] Every change is related to the PR description. - [ x] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this pull request to the issue(s) that it resolves. - [x ] There are no unexpected formatting changes, superfluous debug logs, or commented-out code. - [x ] The branch has been merged or rebased against the head of its merge target. - [ x] I'm happy for the PR to be merged at the reviewer's next convenience.
AztecBot
pushed a commit
that referenced
this issue
Jul 31, 2023
# Description This PR provides an initial solution for having a complete grumpkin flavor in standard honk and contains the following modifications: * the `FileCrsFactory` now has functionality to produce CRSes for both curves (with their key differences) and I addressed any dependent changes in the codebase * the PCSes are now curve agnostic, having the curve set by their parameters and missing tests were added (shlponk\gemini on both grumpkin and bn254 which surfaced a bug in shplonk; unit testing gemini+shplonk+ipa as only the kzg-variant was tested) * continued work on enabling field-agnostic gates from (#557, i have to link issues manually) * to avoid divison by zero caused by inverting the root of unity in `EvaluationDomain<grumpkin::fr>` we hardcode the roots of unity to 1 given Grumpkin does not have many roots of unity. Opens #635 #637 #636, #640 for subsequent work. # Checklist: - [ x] I have reviewed my diff in github, line by line. - [ x] Every change is related to the PR description. - [ x] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this pull request to the issue(s) that it resolves. - [x ] There are no unexpected formatting changes, superfluous debug logs, or commented-out code. - [x ] The branch has been merged or rebased against the head of its merge target. - [ x] I'm happy for the PR to be merged at the reviewer's next convenience.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To make Honk work on Grumpkin we have to template the gates in https://github.com/AztecProtocol/barretenberg/blob/master/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp. Right know, to create as little friction as possible, each gate is
foo_gate_<FF>
and aliasedfoo_gate
=foo_gate_<barretenberg::fr>
because the majority of the codebase uses bn254. Ideally, to avoid havingfoo_gate
andfoo_gate_grumpkin
we'd just want to make the gate type explicit because the structures in the file are primarily only used as function arguments (rather than being repeated in many palces). Moreover, the read/write operations only work with bn254 and this needs to be addressed.The text was updated successfully, but these errors were encountered: