-
Notifications
You must be signed in to change notification settings - Fork 4
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
Implement benchmarks for vector operations #3
base: main
Are you sure you want to change the base?
Conversation
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 for your PR Simone, it is much appreciated!
I found a few typos regarding your benchmarking code. Moreover, I could not make it compile for any SYCL backend. Did you run tests with OneAPI or AdaptiveCPP? Maybe I am missing something here.
endif() | ||
|
||
if (benchmarking) |
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.
Also, I would require google benchmark here instead of relying on git modules
find_package(benchmark REQUIRED)
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.
Right now I am using it as a submodule because I thought that it would make it easier to use on remote machine where maybe it isn't installed, but if you think it's better I can remove the submodule and just use the find package.
Actually I am having problems with sycl even when compiling the tests already present, so maybe it's a problem with my machine. I'm trying to sort it out, I'll let you know. |
Maybe you'll find this preprint helpful, it contains compiling instruction for SYCL backends (see appendix A.2) |
20db72a
to
79fc6c8
Compare
Since you've merged #4 I've added benchmarks for the streamed versions of CUDA as well |
I was compiling in the way described in the paper and in the README but it stil gives error:
On the other hand, I've tested the AdaptiveCPP backend and the benchmarks work correctly. |
I've also tested successfully with AdaptiveCpp. I think some changes to the cmake file are necessary to make it work with OneAPI, I am trying to figure it out. |
I will write a small CI workflow that automatically compiles and tests the code, in order to detect this kind of problems. |
Add cuda invariant mass benchmark and fix some syntax Link google bench to cuda execs Add missing ranges in cuda benches and small fixes Use real time in CUDA benches
Implement boost sycl bench move benchmark script
79fc6c8
to
0347b22
Compare
Hello. As a follow-up regarding this PR, I'm currently trying to figure out what is causing the problem with the oneapi backend, but since it's not caused on the changes made here, maybe this can be merged and then we can fix the backend in a separate PR? |
This PR implements benchmarks for the heterogeneous vector operations using Google Benchmarks.