-
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 MSM instances in the IPA (#290)
* refactor: remove unneeded MSM from IPA - Added new trait usage and extended `AffineExt` with more bounds in `src/provider/traits.rs` to enable greater functionality. - new bounds on AffineExt are trivially satisfied and parrot existing ones, they are repeated to work around the lack of associated_type_bounds - Optimized vector processing in the `fold` method of `src/provider/pedersen.rs`. Element-wise vector addition replaced the previous multiscalar multiplication method. * chore: remove unneeded trait bounds * chore: some simplifications * refactor: Optimize commitment key handling and IPA - Transitioned variable ck and ck_c to mutable to facilitate in-place operations. - Optimized the `split_at` function in `Pedersen.rs` using the `split_off` method. - Reconfigured the `combine` function to clone and chain iterables for expedited vector creation. - Reassessed the `scale` function to in-place operations, eliminating the need for new struct instances. - Streamlined code in `scale` and `fold` functions by removing superfluous variable assignments. * refactor: test going back to MSM in fold
- Loading branch information
1 parent
b168f27
commit 6fde742
Showing
5 changed files
with
70 additions
and
90 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
6fde742
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/7757540610
Benchmark Results
RecursiveSNARK-NIVC-2
ref=b168f27
ref=6fde742
Prove-NumCons-6540
52.78 ms
(✅ 1.00x)53.00 ms
(✅ 1.00x slower)Verify-NumCons-6540
33.02 ms
(✅ 1.00x)32.94 ms
(✅ 1.00x faster)Prove-NumCons-1028888
342.70 ms
(✅ 1.00x)345.39 ms
(✅ 1.01x slower)Verify-NumCons-1028888
252.64 ms
(✅ 1.00x)255.38 ms
(✅ 1.01x slower)CompressedSNARK-NIVC-Commitments-2
ref=b168f27
ref=6fde742
Prove-NumCons-6540
14.03 s
(✅ 1.00x)13.99 s
(✅ 1.00x faster)Verify-NumCons-6540
79.37 ms
(✅ 1.00x)77.67 ms
(✅ 1.02x faster)Prove-NumCons-1028888
110.86 s
(✅ 1.00x)109.36 s
(✅ 1.01x faster)Verify-NumCons-1028888
771.40 ms
(✅ 1.00x)772.27 ms
(✅ 1.00x slower)Made with criterion-table