- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to enable CUDA GPU support following the Known Issues and Limitations note stating that starting from oneAPI 2025.3, CUDA/HIP adapters are no longer distributed in binary form and must be built from source together with the SYCL compiler. However, after completing these steps, syxl-ls does not list any devices at all.
Interestingly, if I install only the Base Toolkit without building adapters manually, sycl-ls still detects Intel devices. After adding the manually built Unified Runtime plugins, no devices are reported.
The build process completed without visible errors. The CUDA toolkit and drivers are installed and working correctly outside of SYCL, and environment variables appear to be set correctly after running setvars.bat.
System 1 (problematic)
Windows 11
oneAPI version: 2025.3 (Base Toolkit)
NVIDIA GeForce RTX 5060
CUDA 12.4
I repeated the same procedure on another computer, and there the CUDA adapter worked immediately and sycl-ls correctly detected the GPU. This makes me suspect that the issue may be related to some environment or configuration difference on this particular system.
System 2 (working)
Windows 11
oneAPI version: 2025.3 (Base Toolkit)
NVIDIA GeForce RTX 3050
CUDA 12.4
Is there a recommended way to verify that the CUDA adapter plugin is being loaded correctly?
Thank you.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, if sycl-ls can show the expected backends, it's good indicator that the plugins have been installed correctly. If not, you can try with "--verbose" option from sycl-ls, which can show more information when loading the plugin libraries.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 files are connected in sycl-ls --verbose: cuda adapter, opencl adapter, level zero adapter and level zero v2 adapter, but no devices or platforms are output. Perhaps everything worked out on the previous computer because the Codeplay plugin was previously installed there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, if sycl-ls shows in verbose mode that the adapters are properly loaded, but still the command doesn't show devices correctly, I would suspect that somehow the adapters are not consistent with device drivers. Perhaps upgrading the driver versions may help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello! Since the OneAPI base toolkit sycl-ls shows both the CPU and Intel GPU when installing, the problem with them disappearing is due to the Nvidia configuration. Is this configuration currently supported on Windows? Maybe I have a mistake in the command, here's how I assembled it:
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
git clone https://github.com/intel/llvm -b v6.3.0 --depth=1
cd llvm
cmake -S unified-runtime -B build ^
-DUR_BUILD_TESTS=OFF ^
-DUR_ENABLE_TRACING=ON ^
-DUR_BUILD_ADAPTER_OPENCL=ON ^
-DUR_BUILD_ADAPTER_CUDA=ON ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX="C:\intel\unified-runtime\install"
cmake --build build --config Release
cmake --install build --config Release
copy C:\intel\unified-runtime\install\lib\ur*.lib "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\lib"
copy C:\intel\unified-runtime\install\bin\ur*.dll "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, the commands look good to me. But I couldn't reproduce your issue. I downloaded v6.3.0 binary and copied the ur_* files in the bin folder to C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin. After that the sycl-ls command still show the correct backends. Please verify you have updated your drivers according to the v6.3.0 release notes
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, on your binary files, sycl-ls shows the available intel devices, but it does not show the available Nvidia devices because there is no ur cuda adapter in your archive.
I have a follow-up question regarding the v6.3.0 release notes, specifically the “End to end tests” section.
From what I can see, the validated configurations are:
Windows: only Intel Level Zero backends (Iris Xe, Arc GPUs)
Linux (Ubuntu 22.04):
Intel Level Zero / OpenCL
AMD HIP backend
NVIDIA CUDA backend (RTX 3090, CUDA 12.7)
There is no CUDA backend listed under Windows in the tested configurations, while it is explicitly listed and validated on Linux.
It means that CUDA backend support is currently only validated/tested on Linux and is CUDA on Windows considered experimental or unsupported for oneAPI 2025.3 / LLVM v6.3.0?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, my point was that ur level zero/opencl adapters are independent of cuda/hip adapters. Even when there's no cuda adapter, if there's no issue in your environment, you shouldn't have issue detecting level zero or opencl devices. For your 2nd question, I would expect it to be supported, but I'm not sure why it wasn't tested on windows for cuda, you may want to take this question to the github repository.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page