-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: avoid superfluous clones in
ProverKey
and VerifierKey
f…
…or Nova & SuperNova (#285) * refactor: Refactor codebase to use `Arc` for commitment keys - Major changes in the handling of the Commitment Key object across several files, moving from direct references to using the Arc (Atomic Reference Counting) mechanism for improved thread-safety and efficient sharing of data. - Removed the `Abomonation` trait from several structures, such as `ProverKey` and `VerifierKey`. - Introduced the `SimpleDigestible` trait to VerifierKey in several files, allowing them to be converted into a digestible form for hashing or storage. - Numerous updates in test cases and instances to reflect the shift from direct Commitment Key references to Arc. - Refactoring of the `setup` and `prove` methods in multiple files to handle the Arc type for Commitment Key. - Removal of several `abomonate_with` and `abomonation_skip` attribute annotations. - Enhancement of error details in multiple `assert` statements. - Added "rc" feature to the serde dependency in the Cargo.toml file. - Made comments on minimizing unnecessary data copies and keeping `setup` methods inexpensive. * refactor: Serialization with Abomonation - Extended functionality in `lib.rs` with new `PublicParams` structure, efficient abomonationwith `FlatPublicParams`, - Updated `mod.rs` for conditional feature `abomonate`, added `AuxParams` struct, and implemented conversions between `AuxParams` and `FlatAuxParams`. - demoed the new use of Abomonation in the minroot example * refactor: clean up superfluous Abomonation bounds - Removed Abomonation dependency from several files. * fix: remove uneeded Abomonation bounds
- Loading branch information
1 parent
d659180
commit 6846dd5
Showing
18 changed files
with
428 additions
and
307 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
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.
6846dd5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmarks
Table of Contents
Overview
This benchmark report shows the Arecibo GPU benchmarks.
NVIDIA L4
Intel(R) Xeon(R) CPU @ 2.20GHz
32 vCPUs
125 GB RAM
Workflow run: https://github.com/lurk-lab/arecibo/actions/runs/7732433975
Benchmark Results
RecursiveSNARK-NIVC-2
ref=d659180
ref=6846dd5
Prove-NumCons-6540
52.49 ms
(✅ 1.00x)52.75 ms
(✅ 1.00x slower)Verify-NumCons-6540
32.72 ms
(✅ 1.00x)32.83 ms
(✅ 1.00x slower)Prove-NumCons-1028888
344.12 ms
(✅ 1.00x)343.99 ms
(✅ 1.00x faster)Verify-NumCons-1028888
252.37 ms
(✅ 1.00x)254.71 ms
(✅ 1.01x slower)CompressedSNARK-NIVC-Commitments-2
ref=d659180
ref=6846dd5
Prove-NumCons-6540
14.08 s
(✅ 1.00x)14.10 s
(✅ 1.00x slower)Verify-NumCons-6540
78.65 ms
(✅ 1.00x)78.34 ms
(✅ 1.00x faster)Prove-NumCons-1028888
111.71 s
(✅ 1.00x)110.87 s
(✅ 1.01x faster)Verify-NumCons-1028888
770.83 ms
(✅ 1.00x)770.87 ms
(✅ 1.00x slower)Made with criterion-table