Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
867 Discussions

sycl-ls shows no devices after building CUDA Unified Runtime adapter from source (oneAPI 2025.3, Win

Ckworec
Débutant
1 875 Visites

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.

 

 

 

0 Compliments
7 Réponses
yzh_intel
Modérateur
1 826 Visites

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. 

0 Compliments
Ckworec
Débutant
1 785 Visites

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. 

0 Compliments
yzh_intel
Modérateur
1 544 Visites

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.

0 Compliments
Ckworec
Débutant
1 508 Visites

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"

0 Compliments
yzh_intel
Modérateur
1 479 Visites

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 

0 Compliments
Ckworec
Débutant
1 440 Visites

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?

0 Compliments
yzh_intel
Modérateur
1 408 Visites

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. 

0 Compliments
Répondre