-
Notifications
You must be signed in to change notification settings - Fork 63
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
refactor, perf: prover/crypto/sis
improvements
#554
base: main
Are you sure you want to change the base?
Conversation
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #554 +/- ##
============================================
- Coverage 68.89% 68.44% -0.45%
+ Complexity 1186 1139 -47
============================================
Files 327 326 -1
Lines 13128 12876 -252
Branches 1317 1309 -8
============================================
- Hits 9044 8813 -231
+ Misses 3535 3515 -20
+ Partials 549 548 -1
*This pull request uses carry forward flags. Click here to find out more. |
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.
Approved but there are a couple of issues on the CI
Sister PR in gnark-crypto.
This pull request includes significant refactoring and cleanup of the
ringsis
package within theprover/crypto
directory. The changes mainly focus on removing unnecessary code and simplifying the implementation.Essentially this PR uses the latest implementation from gnark-crypto, and concentrate the core logic of sis in gnark-crypto. Moreover, it reworked the
TransversalHash
to improve its performance (currently bls12377 only; koalabear to come).Parameters for SIS are optimized for degree==64 and log2(bound) a multiple of 8 (byte size).
Allocations are reduced through the use of a
LimbIterator
. Removed buffers, locks. (the sis instance is now stateless, as it should be).Removed all generated code for TransversalHash.
Benchmarks for transversal hash (matrix of size 1024*1024 on
hpc7a
)Benchmarks for transversal hash (matrix of size 1024102492 on
hpc7a
)