You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The benchmarks use these constraint counts (see the use of constant NUM_CONS_VERIFIER_CIRCUIT_PRIMARY) and substract it from a target constraint count to estimate performance on a circuit with a certain number of "payload" constraints (the constraint count minus the ones automatically added by Nova's folding verification).
This is brittle and unsafe:
many changes of the circuits (Supernova and Nova) don't change the benchmarks, when they change the circuit,
huitseeker
changed the title
Remove dependency (or automatically enforce it) in Nova benchmarks
Remove dependency (or automatically enforce it) on constraint counts Nova benchmarks
Jan 15, 2024
The cleanest fix to this will be to write a common routine that does the following. Synthesize a non-trivial step circuit with zero constraints (which the current code in the Nova benchmark supports), run RecursiveSNARK to identify the size of the verifier circuit. The benchmark then use that information to determine the circuit sizes for the benchmark. We will be interested in such a fix in the upstream as well.
huitseeker
pushed a commit
to huitseeker/arecibo
that referenced
this issue
Jan 22, 2024
* Simplify Group trait (argumentcomputer#259)
* simplify Group trait
* fix clippy
* further simplifications
* fix Copy
* Cut duplicate code (argumentcomputer#261)
* cut duplicate code
* bound --> bind for clarity
* expose asm feature
* test: check test_pp_digest with asm feature in CI
* expose size of the base field (argumentcomputer#262)
* fix: add mention of halo2curves issue explaining the problem
---------
Co-authored-by: Srinath Setty <srinath@microsoft.com>
We have tests for constraint counts in Nova:
https://github.com/lurk-lab/arecibo/blob/605f89990666cae63ff534245ea701199fe0df82/src/circuit.rs#L462-L502
https://github.com/lurk-lab/arecibo/blob/605f89990666cae63ff534245ea701199fe0df82/src/supernova/circuit.rs#L836
https://github.com/lurk-lab/arecibo/blob/605f89990666cae63ff534245ea701199fe0df82/src/supernova/test.rs#L568
The benchmarks use these constraint counts (see the use of constant NUM_CONS_VERIFIER_CIRCUIT_PRIMARY) and substract it from a target constraint count to estimate performance on a circuit with a certain number of "payload" constraints (the constraint count minus the ones automatically added by Nova's folding verification).
This is brittle and unsafe:
https://github.com/lurk-lab/arecibo/blob/dev/benches/recursive-snark.rs#L66
(this was fixed in supernova by Refactor Supernova benchmarks and config for CI #253 ).
We should :
checked_sub
) to the nova bench,The text was updated successfully, but these errors were encountered: