-
Notifications
You must be signed in to change notification settings - Fork 270
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: IVC integration tests using new accumulate model (#7946)
Introduces more in depth testing of the AztecIvc scheme, including tests that mimic the benchmark setup as well as more in depth tests for the inter-circuit databus consistency checks. Other noteworthy components of this PR: - Introduces utility class `PrivateFunctionExecutionMockCircuitProducer` for consistently generating mock circuits (shared between the benchmark and this new test suite). Subclass `MockDatabusProducer` incorporates nontrivial databus interactions into these circuits for the first time. - Removes the old `accumulate()` method on AztecIvc (which simultaneously added recursive verifiers and performed prover work) in favor of two methods that separate the logic but combine to the same effect: `complete_kernel_circuit_logic()` and a new `accumulate()` (which now only performs the prover work). Confusing jump in benchmark explained in [this](AztecProtocol/barretenberg#1072) issue: ``` ----------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------- AztecIVCBench/FullStructured/6 38855 ms 36066 ms 1 Arithmetic::accumulate=4.03742M DEBUG:ProverPolynomials()=12 DEBUG:ProverPolynomials()(t)=3.68002G function ms % sum construct_circuits(t) 4474 11.61% ProverInstance(Circuit&)(t) 6787 17.62% ProtogalaxyProver::fold_instances(t) 21788 56.55% Decider::construct_proof(t) 1655 4.30% ECCVMProver(CircuitBuilder&)(t) 235 0.61% ECCVMProver::construct_proof(t) 2585 6.71% TranslatorProver::construct_proof(t) 824 2.14% Goblin::merge(t) 177 0.46% ```
- Loading branch information
1 parent
fb471b3
commit c527ae9
Showing
9 changed files
with
372 additions
and
167 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.