-
Notifications
You must be signed in to change notification settings - Fork 52
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
Make alpaka work with SYCL #785
Conversation
2d36a05
to
ee005f9
Compare
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.
Overall, very happy about the developments. But we'll indeed need to find some good way of passing in the common ::sycl::queue
from the outside to all the SYCL objects.
I also wonder where we could pass a queue to Alpaka. Or how we could get the queue that Alpaka uses. Since all of these will have to be synced up. 🤔
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.
Not for this PR, but we should try to find a way of using "factory functions" for instantiating the appropriate type of memory resource and copy objects. To eliminate all appearances of preprocessor statements from the "user code".
But for this PR, as long as you clean up the CMake code a little using a new macro, I'll be happy to let it through. (The change in the main CMakeLists.txt
file affects others as well, that's why I'd like to get that fixed.)
Please retry analysis of this Pull-Request directly on SonarQube Cloud |
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.
Okay, this setup I can live with. 😄
Think this is good to go now |
Sorry, didn't realize that you would not be allowed to merge once I approved it. 😛 |
I added a queue argument for vecmem::sycl::copy. Not in a very clean way, but this all needs cleaned up (as discussed with @CrossR) and hopefully coming soon in an MR from him or me.
With this I can get the alpaka seeding example to work on the CERN GPU Flex 170:
It's very slow compared to the CUDA implementation, but I think this is largely because I had to enable FP64 emulation: