-
Notifications
You must be signed in to change notification settings - Fork 315
Benchmarking code refactor and automation #3153
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
Conversation
|
Thank you for your pull request. We require contributors to sign our Contributor License Agreement / Terms and Conditions, and we don't seem to have the users @SouchonTheo on file. In order for us to review and merge your code, please sign:
If you already signed one of this document, just wait to be added to the bot config. |
03b980f to
ffbe767
Compare
|
Thank you for your pull request. We require contributors to sign our Contributor License Agreement / Terms and Conditions, and we don't seem to have the users @SouchonTheo on file. In order for us to review and merge your code, please sign:
If you already signed one of this document, just wait to be added to the bot config. |
ffbe767 to
dafe45d
Compare
|
Thank you for your pull request. We require contributors to sign our Contributor License Agreement / Terms and Conditions, and we don't seem to have the users @SouchonTheo on file. In order for us to review and merge your code, please sign:
If you already signed one of this document, just wait to be added to the bot config. |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
| **/*.rmeta | ||
| **/Cargo.lock | ||
| **/*.bin | ||
| **/.DS_Store |
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.
use a .gitignore global for your macOS, this is fine to keep :)
dafe45d to
785a588
Compare
soonum
left a comment
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.
This is awesome, thanks.
@soonum reviewed 2 files and all commit messages, and made 1 comment.
Reviewable status: 2 of 3 files reviewed, 1 unresolved discussion (waiting on @IceTDrinker and @SouchonTheo).
This pull request refactors and streamlines the benchmarking code for the high-level API in
tfhe-benchmark, making it more modular and easier to extend. The main change is the introduction of macros to generate and run benchmarks for various operations and types, replacing repetitive code with a more maintainable approach.Benchmarking code refactor and automation:
bench_fhe_type_opfunction and supportingBenchWaittrait to generalize benchmarking over arbitrary operations, enabling the same code to handle all binary operations and their result types.bench_type_op!andgenerate_typed_benches!macros to automatically generate benchmark functions for each operation (add, sub, mul, bitwise, shift, rotate, min/max, etc.) and FHE integer type, replacing the previous manual approach.run_benches!macro to succinctly invoke all generated benchmarks for a given set of types, further reducing boilerplate and improving maintainability.mainfunction to use the newrun_benches!macro, ensuring all benchmarks are executed for the relevant types depending on the configuration.Repository hygiene:
.gitignoreto exclude thebenchmarks_parametersdirectory, preventing benchmark parameter files from being checked into version control.This change is