-
Notifications
You must be signed in to change notification settings - Fork 71
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
Conversation
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #554 +/- ##
============================================
+ Coverage 68.12% 68.40% +0.27%
+ Complexity 1182 1139 -43
============================================
Files 326 323 -3
Lines 13219 12866 -353
Branches 1337 1308 -29
============================================
- Hits 9006 8801 -205
+ Misses 3658 3517 -141
+ Partials 555 548 -7
*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
PR has had no activity for 30 days. What is blocking it? Is there anything you can do to help move it forward? Without action it will be closed in 7 days. |
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
)