-
Notifications
You must be signed in to change notification settings - Fork 103
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
Comments
@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. |
Sure! Is there an issue which could be better served by me in your opinion? I'm fair game to anything😁 |
@ameya-deshmukh I'll give it some thought and get back to you soon |
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>
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>
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>
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>
This work isn't planned. No use case in the foreseeable future. |
Currently, the only "goblinized" group operation is
batch_mul
, i.e. one cannot perform goblin-arithmetized group operations viaP = 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.The text was updated successfully, but these errors were encountered: