-
Notifications
You must be signed in to change notification settings - Fork 158
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
How to setup CMakeLists to use OneMKL on a GPU (Intel Arc/Nvidia sm_89) #501
Comments
Hi Saleh, |
Thank you for the quick reply @hjabird
And for sycl-ls:
I can write my own kernels with sycl and run them on the gpu without any issues. I just cannot use oneMKL on a GPU queue. |
I'll have more time to look at the linked code tomorrow, but can you check that you're linking against this oneMKL interface library, and not the Intel oneMKL library? I think (but need to confirm tomorrow) for this (oneMKL interface library), you want |
I tried
Here is my oneAPI
So oneMKL interface is not part of oneAPI HPC toolkit. Am I correct? Then, I have to install this repo and provide the path to it, right? |
Yes, this repo - oneMKL interface library - is not included in the base toolkit. There are three oneMKLs:
If you want to use this library, the oneMKL interface library, you need to clone the repo, build it, and install it. |
Thank you! @hjabird I finally got it working with FetchContent: https://github.com/salehjg/my-oneapi-workspace/tree/with-cmake-fetch/e00-onemkl-gemm . Although, when building and installing the interface onemkl repo, the include dir has a lower priority compared to Also, it was a bit confusing to find the target names of [open-]onemkl to link against, maybe it is documented somewhere and I have missed it, but for the future reference:
|
Hi @salehjg, Regarding the include issue did you make sure to adapt the target of I agree that it would be useful to document which targets should be used to integrate with oneMKL CMake. As @hjabird mentioned we will try to improve this as part of the existing issue linked above. |
Hi @salehjg do you need more help with this issue? |
@Rbiessy Thank you so much for the help. |
Hi there,
I am having trouble using oneMKL with sycl on GPUs.
So far, I have tried to compile and run this repository on Intel Arc A770, Nvidia RTX A2000 (sm_89) and Nvidia gtx1650 with
icpx
from HPC toolkit 2024.1 with the codeplay plugin for nvidia gpus.For Intel Arc, I get an exception from oneMKL stating that the given device is not supported.
For Nvidia GPUs (A2000 and gtx1650) I get a SIGSEGV crash on:
It works on CPUs (on intel 13950HX, intel 6700, and i7 4770K to be exact).
Could anyone please advise me on how to approach this problem? Should I build oneMKL from the source to enable GPU support?
Thank you,
Saleh
The text was updated successfully, but these errors were encountered: