Enable SYCL tests
Summary
- This PR enables SYCL tests in our current test set.
@homerdin , I just pushed some adjustments to the RAJA examples so we can build them when sycl is enabled. Since Sycl is a bit different than CUDA/HIP there are some code paths we need to guard for. Changes were mostly of the type #if defined(RAJA_DEVICE_ACTIVE) -> defined(RAJA_ENABLE_HIP) || defined(RAJA_ENABLE_CUDA)
I have some example improvements in https://github.com/LLNL/RAJA/pull/1273 for sycl.
We have some Docker sycl errors, I don't quite understand those though.
@homerdin please review the policies in the RAJA User Guide and add/modify/remove things to be consistent with the current state of SYCL support: https://github.com/LLNL/RAJA/blob/develop/docs/sphinx/user_guide/feature/policies.rst
@rhornung67 I've reviewed the policies in RAJA User Guide and added SYCL atomics, everything is consistent now.
@homerdin I updated to a new dpcpp version in the CI, and resolved the merge conflicts in this. If all checks pass, and we get approvals, can it be merged? Or do you want to push more changes?
@rhornung67 The test-forall-basic-expt-reduce tests are failing for the SYCL backend. I will push a change to the CMakeLists to remove the SYCL backend for the expt tests. After that I have no more changes and it is good to merge.
@rhornung67 I just started to look into that. Should all the reduction tests for SYCL be turned off?
@homerdin still no luck with the multiple lambda tests when using intel 2022.1.0. I pushed a change to disable those for SYCL. If this passes now, we can circle back on SYCL tests and compiler versions after the release.
@MrBurmark @homerdin @artv3 @rchen20 @mdavis36 @trws This was now passing before I merged latest develop changes into it. This should be the last PR to merge before getting the RC branch merged into main for the release. Can we get some reviews?
I'm finishing the RC branch now.
@MrBurmark do you have any more concerns or questions about this? Or, are you OK to merge it?