-
Notifications
You must be signed in to change notification settings - Fork 103
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
UltraHonk Benchmarks #477
UltraHonk Benchmarks #477
Conversation
dc8085e
to
5712466
Compare
f4935d8
to
2bf4cad
Compare
5140837
to
7307ff6
Compare
@@ -58,12 +61,15 @@ class UltraCircuitConstructor; | |||
|
|||
#define EXTERN_STDLIB_ULTRA_TYPE(stdlib_type) \ | |||
extern template class stdlib_type<proof_system::UltraCircuitConstructor>; \ | |||
extern template class stdlib_type<plonk::UltraPlonkComposer>; | |||
extern template class stdlib_type<plonk::UltraPlonkComposer>; \ | |||
// extern template class stdlib_type<honk::UltraHonkComposer>; |
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.
Why is this commented out?
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.
whoops - thanks
{ | ||
auto num_gates = 1 << (size_t)state.range(0); |
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.
You can use range multiplier (https://github.com/google/benchmark/blob/main/docs/user_guide.md#custom-counters) as an alternative if you want the exponent to be the metric.
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, I feel like there's lots of fun capabilities here that I need to dig into. For now I'll leave it as is since I'm not even sure we care about the standard honk benchmarks much anymore
// Number of times to perform operation of interest in the benchmark circuits, e.g. # of hashes to perform | ||
constexpr size_t MIN_NUM_ITERATIONS = 10; | ||
constexpr size_t MAX_NUM_ITERATIONS = 10; | ||
// Numeber of times to repeat each 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.
Typo
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.
LGTM
378fe74
to
e92b89e
Compare
* basic benchmarks for ultra honk * remove github action workflow altogether for now * update compare script
* basic benchmarks for ultra honk * remove github action workflow altogether for now * update compare script
Description
First component of #480: Introduces a suite of UltraHonk benchmarks for proof construction for four different circuits, each of which contains a specified number (currently 10) of one of the following individual operations:
Additional required changes in this PR include instantiation of stdlib types with UltraHonkComposer and introduction of several required methods in the UltraHonkComposer (all of which are pass-throughs to existing methods in the UltraCircuitConstructor).
Checklist:
/markdown/specs
have been updated.@brief
describing the intended functionality.