-
Notifications
You must be signed in to change notification settings - Fork 58
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
chore: simplify and homogenize proving code for Nova and SuperNova proofs #1121
Conversation
f2fc6a0
to
604143c
Compare
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.
Thanks a lot!
Huh oh, performance regression?! I've removed it from the merge queue 🤔 |
!gpu-benchmark |
604143c
to
6862de2
Compare
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.
Let's see if this is a fluke.
I think it's not a fluke. It's probably because I removed the instantiation of the initial SNARK from the parallelization scheme. I'm thinking of a solution that doesn't make the code complex again |
6862de2
to
4568d5d
Compare
!benchmark --features cuda,asm |
4568d5d
to
c1254d4
Compare
!benchmark --features cuda |
c1254d4
to
a5a504a
Compare
Benchmark for 4eed503Click to view benchmark
|
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.
Made a suggestion to use a closure. Please note I've left:
- adapting the call sites,
- probing for and using the debug variable to trigger the debug step,
as an exercise to the reader.
Aha! |
…oofs * Remove code duplication in Nova proving * Factor out and reuse debugging code that was triggered only for Nova proving without "parallel steps" * Remove the cloning of recursive snarks on SuperNova * Drop `crossbeam` dependency because `crossbeam::thread::scope` has been soft-deprecated in favor of `std::thread::scope` since Rust 1.63 due to performance reasons
a5a504a
to
9103b74
Compare
!benchmark --features cuda |
Benchmark for 4eed503Click to view benchmark
|
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.
🙏
crossbeam
dependency becausecrossbeam::thread::scope
has been soft-deprecatedin favor of
std::thread::scope
since Rust 1.63 due to performance reasons