Skip to content
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

General goblin-ized group operations #707

Closed
ledwards2225 opened this issue Aug 28, 2023 · 5 comments
Closed

General goblin-ized group operations #707

ledwards2225 opened this issue Aug 28, 2023 · 5 comments

Comments

@ledwards2225
Copy link
Collaborator

ledwards2225 commented Aug 28, 2023

Currently, the only "goblinized" group operation is batch_mul, i.e. one cannot perform goblin-arithmetized group operations via P = Q * R, P += Q * z, etc. At some point it may be convenient to allow for more general operations like the aforementioned but this would have a large footprint in biggroup and could be error prone. In principle, all operations can be written as batch muls but this may be inefficient if a multiply-then-accumulate operation is used when a simple add-accumulate is sufficient, e.g. in an expression like $P = P_0 + \alphaP_1 + \alpha^2P_2$ which arises frequently.

@ameya-deshmukh
Copy link

@ledwards2225 can I take this up?

@ledwards2225
Copy link
Collaborator Author

ledwards2225 commented Sep 6, 2023

@ledwards2225 can I take this up?

@ameya-deshmukh The code relevant to this issue is very much in flux and it's not clear that we want what it describes so this might not be the right place to start. That said, we appreciate your interest in contributing, and if you'd like we can give it some thought and make suggestions for other issues that might be better.

@ameya-deshmukh
Copy link

Sure! Is there an issue which could be better served by me in your opinion? I'm fair game to anything😁

@ledwards2225
Copy link
Collaborator Author

@ameya-deshmukh I'll give it some thought and get back to you soon

codygunton added a commit to AztecProtocol/aztec-packages that referenced this issue Jan 3, 2024
In the initial implementation of ZM I forgot to goblinize a couple of
the final group operations in Zeromorph which was causing the gate count
of the recursive verifier to blow up. We fix this. We implement the
addition, subtraction, and single scalar multiplication operation
inefficiently using the batch_mul methods. We disable some member
functions that do not use Goblin when they could, and leave references
to AztecProtocol/barretenberg#707 as a future
optimization task.

---------

Co-authored-by: codygunton <codygunton@gmail.com>
AztecBot pushed a commit that referenced this issue Jan 7, 2024
In the initial implementation of ZM I forgot to goblinize a couple of
the final group operations in Zeromorph which was causing the gate count
of the recursive verifier to blow up. We fix this. We implement the
addition, subtraction, and single scalar multiplication operation
inefficiently using the batch_mul methods. We disable some member
functions that do not use Goblin when they could, and leave references
to #707 as a future
optimization task.

---------

Co-authored-by: codygunton <codygunton@gmail.com>
Maddiaa0 pushed a commit to AztecProtocol/aztec-packages that referenced this issue Jan 8, 2024
In the initial implementation of ZM I forgot to goblinize a couple of
the final group operations in Zeromorph which was causing the gate count
of the recursive verifier to blow up. We fix this. We implement the
addition, subtraction, and single scalar multiplication operation
inefficiently using the batch_mul methods. We disable some member
functions that do not use Goblin when they could, and leave references
to AztecProtocol/barretenberg#707 as a future
optimization task.

---------

Co-authored-by: codygunton <codygunton@gmail.com>
michaelelliot pushed a commit to Swoir/noir_rs that referenced this issue Feb 28, 2024
In the initial implementation of ZM I forgot to goblinize a couple of
the final group operations in Zeromorph which was causing the gate count
of the recursive verifier to blow up. We fix this. We implement the
addition, subtraction, and single scalar multiplication operation
inefficiently using the batch_mul methods. We disable some member
functions that do not use Goblin when they could, and leave references
to AztecProtocol/barretenberg#707 as a future
optimization task.

---------

Co-authored-by: codygunton <codygunton@gmail.com>
@ledwards2225
Copy link
Collaborator Author

This work isn't planned. No use case in the foreseeable future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants