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.
Description
This PR achieves correctness with fully on-device prover based on icicle v1.9.
Tested by running
TestBn254Gpu
(don't forget to enableg2
tag). Hopefully the performance is ok but I haven't tested on circuits of significant size, so actually not sure if they work and how fast. One detail to note:InitDomain
is only called once per curve, so when setting up several circuits, it's best to run the setup for the largest circuit first, this way you'll ensure thatInitDomain
covers all the circuits. If that's not possible, we'll make a slight change.In general, the PR is a bit messy - no proper error handling, only bn254 supported etc., but hopefully it's clear how to proceed from here.