-
Notifications
You must be signed in to change notification settings - Fork 130
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
Investigate improvements for assign_region #155
Comments
I have a PR for this here: halo2-ce#13 |
I've tested that and while it makes the synthesize step faster (2x) it greatly increases the degree: privacy-scaling-explorations/zkevm-chain@f16e43d . Maybe we can store all information from assignments and then do the shaping instead calling it multiple times? |
I don;t think that's an issue. While we keep the expr degree low (that's of course the case as it isn't touched) sacrifice 1 degree in the MockProver is not an issue at all IMO (Specially considering that this Layouter should never be used for final circuits/benchmarks). Which is your proposal @pinkiebell ? I thought it's not a big deal to get a bigger degree (specially since we don't need a setup with the |
It would be a great performance improvement for real & mock prover alike to improve halo2 to not calling these closures from |
At this moment, the
SimpleFloorPlanner
used in zkevm-circuits will call the closure forassign_region
twice.It might makes sense to deduplicate this call in halo2 because there a few compute heavy loops inside zkevm-circuits that not only does assignments but also data mapping / transformation and right now, doing the work twice. We can gain significant speedups by either
i) modifying zkevm-circuits to do the heavy work outside the closure and reference it instead
ii) find a way to avoid calling more than 1 times in halo2 - this generally improves performance for any circuit/crate
The text was updated successfully, but these errors were encountered: