Skip to content
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

Add libm benchmarks #608

Merged
merged 1 commit into from
Dec 24, 2024
Merged

Conversation

joanaxcruz
Copy link
Contributor

Checklist

  • I have read the contributing guidelines.
  • I have considered portability of my change across platforms and architectures.
  • I have self-reviewed my code.
  • I have commented my code where necessary.
  • I have updated the documentation accordingly.
  • I have added tests that prove my fix is effective or that my feature works.

What is the purpose of this pull request?

  • Improve benchmark tool
  • Documentation update

What changes did you make?

Extended current benchmark tool with support to benchmark of libm functions. Libm benchmark is enabled in all functions listed in benchlibm.cpp.
It interfaces with the rest of the existing tool through benchmark_callers_libm.hpp (defines macros which simplify how the list of functions to benchmark looks like as it groups functions by precision/accuracy/variant).
The tool is integrated with SLEEF via CMake, meaning it can be built automatically when SLEEF is built. To enable that, pass CMake argument -DSLEEF_BUILD_BENCH=ON and
-DSLEEF_BUILD_BENCH_REF=ON.
Note this option is only enabled on Linux OS.

Is there anything you would like reviewers to focus on?

Subject to internal review

Extended current benchmark tool with support to benchmark of libm
functions. Libm benchmark is enabled in all functions listed in
benchlibm.cpp.
It interfaces with the rest of the existing tool through
benchmark_callers_libm.hpp (defines macros which simplify how the
list of functions to benchmark looks like as it groups functions
by precision/accuracy/variant).
The tool is integrated with SLEEF via CMake, meaning it can
be built automatically when SLEEF is built. To enable that,
pass CMake argument -DSLEEF_BUILD_BENCH=ON and
-DSLEEF_BUILD_BENCH_REF=ON.
Note this option is only enabled on Linux OS.
@blapie blapie merged commit 074162c into shibatch:master Dec 24, 2024
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants