-
Notifications
You must be signed in to change notification settings - Fork 10
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
SYCL2020 Updates, main branch (2024.11.19.) #136
SYCL2020 Updates, main branch (2024.11.19.) #136
Conversation
8281362
to
1a599e5
Compare
oneAPI 2025.0.0 FTW!
Unfortunately in WSL the tests produce some numerical issues, but they do run!
So there is hope yet. 😉 |
Not counting the MSVC issue, I'll also want to improve the CI tests a little in this PR. 🤔 So let's make it into a draft for the moment. |
1a599e5
to
61f036a
Compare
Using <sycl/sycl.hpp> as the main SYCL include, and picking up all types from the ::sycl namespace.
b20d8a8
to
b6edf0a
Compare
Didn't add a test with an NVIDIA backend, as the oneAPI+CUDA combination used by the CI crashes on the current code of the project. (The latest versions of both do succeed however. So there's no point in debugging this further.) Updated (almost) all CI tests to use v67 of the Docker images.
b6edf0a
to
ba63e70
Compare
Quality Gate passedIssues Measures |
The unit tests are interesting... 🤔 With oneAPI 2025.0.0, when building just for an x86 backend, I get this from the tests:
I.e. the Eigen tests really don't like something. Coming up with a lot of NaNs. 😕 Then, if I build with oneAPI 2025.0.0 + CUDA 12.6.2 for the NVIDIA backend, I get:
Just one of the Eigen tests fail in this case, with a bunch of 2^X value differences between the host and GPU calculations. Almost as if random bits would get turned on in the result The CUDA tests on the other hand all succeed.
So SYCL is not in much love with Eigen. (Or vice versa...) |
* Made the code SYCL2020 compatible. Using <sycl/sycl.hpp> as the main SYCL include, and picking up all types from the ::sycl namespace. * Update to vecmem 1.13.0.
Connected to #128, these updates are needed to be able to use oneAPI 2025.0.0 with this project. With the hope that the latest version of oneAPI may work a little better. 🤔 (But also to be able to give our code to Intel developers, so that they could see the issues that we see, with the latest compilers.)
It will clash with #128, but we can just push that one in first, and then I'll resolve the one conflict I anticipate.