-
Notifications
You must be signed in to change notification settings - Fork 39
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
Update SYCL compiler and remove printf guarding with SYCL #614
Conversation
You need to build |
What is the option to disable deprecated code? |
Yes, the configuration we were using in the |
Note that we will still get deprecation warnings unless we update to the latest |
Kokkos 3.4 fails with
|
That should not happen with deprecated code disabled... |
The deprecated code protection in |
With Kokkos 3.5, the container builds. However, getting "unnamed lambda" errors from ArborX SYCL build:
This is coming from this code: ArborX/src/details/ArborX_DetailsSortUtils.hpp Lines 178 to 180 in a1b1a00
There is an |
Explicitly enabling Trying a patch where lambda is not anonymous. |
e0200b2
to
a07bf60
Compare
oneapi::dpl::sort( | ||
policy, zipped_begin, zipped_begin + n, | ||
[](auto lhs, auto rhs) { return std::get<0>(lhs) < std::get<0>(rhs); }); | ||
oneapi::dpl::sort(policy, zipped_begin, zipped_begin + n, SYCLCompare{}); |
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.
Sounds more like a bug with the toolchain. We do have -fsycl-unnamed-lambda
in the compile line
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.
Possibly. I'm not sure sure what to think of intel/llvm#4769. Lets see if it fixes it. If not, I'll try to put the latest nightly and check.
Cannot build Kokkos 3.5 with the latest SYCL nightly (20220106):
|
This seems too brittle to continue trying to figure out. We could probably work around with a custom comparator, but that's simply another workaround. I think we should not spend any more time on this, and retry it in 6 months or a year. Maybe SYCL compiler would be more stable by then. |
To me, it looks like we are almost there. I just don't have any idea what all this linking with |
d8211be
to
a0de29c
Compare
Let's see if setting the host implementation for |
But even if it helps, I assume we need a parallel backend (which backend does it actually use on the Intel GPU, "openmp"?). |
We are explicitly requesting It seems that we are now down to some performance regressions. |
What do you mean? |
This pull request now compiles and runs but |
We were running into a deadlock with the fences in the |
For reference, we need intel/llvm#4904 or intel/llvm#4903 (including an actual implementation) to fix the current behavior in |
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.
Other than two minor comments, I think this is fine.
-D CMAKE_CXX_FLAGS="-Wpedantic -Wall -Wextra -Wno-unknown-cuda-version -fsycl -fsycl-targets=nvptx64-nvidia-cuda-sycldevice" \ | ||
-D CMAKE_CXX_FLAGS="-Wpedantic -Wall -Wextra -Wno-unknown-cuda-version" \ |
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.
Do we really need to remove these?
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.
No, we don't need to remove these but there is no reason to keep it IMHO. These flags are(or should be) exported by Kokkos
.
@masterleinad OK, can you please squash the commits and restore other testing? Or, let me know and I'll do this myself. |
c7c3b30
to
d54e117
Compare
Done. |
retest this please |
Huh, just noticed that SYCL build time dropped from 30 minutes to 11. |
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.
I'd prefer if you add the comment about the Kokkos git commit hash used when building the Docker image
Fix #613.