- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
If there any guide when to select the level-zero device and when to select the opencl device?
Platform = Intel(R) OpenCL HD Graphics
GPU Intel(R) Corporation - Intel(R) UHD Graphics
Platform = Intel(R) Level-Zero
GPU Intel(R) Corporation - Intel(R) Graphics [0x9b41]
This is the same CPU and HD Graphics. It is listed as OpenCL device as well as a Level-Zero device. I couldn't find much information when to use which platform.
I want to use it with the DPC++ compiler and sycl. Any recommandations?
Thanks,
Daniel
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for posting in Intel Communities.
Intel DPC++ compiler can be used with different backends (e.g., OpenCL and Level Zero). Different devices can be operated through different low-level drivers, such as OpenCL for FPGA
By default, if no special action is taken and the Level Zero runtime reports support the installed GPU on Linux.
On Windows, the preference is given to an OpenCL GPU.
Devices that are not supported with the Level Zero runtime (CPU/FPGA) continue to run with OpenCL.
OpenCL supports both CPU and GPU architectures where as level_zero supports FPGA and other types of accelerator architectures.
In your case, you are observing the same GPU under OpenCL and Level Zero because it is managed by an OpenCL™ or Level Zero backend.
You can choose any of the backends (OpenCL or Level Zero) to build your application on GPU.
Please refer to the below links for more details:
Thanks & Regards,
Noorjahan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for the detailed response. Is there a way to identify a Level-Zero device if I enumerate through all SYCL devices other than a string-compare of the backend name? That seems to me not very reliable for the future.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
>>Is there a way to identify a Level-Zero device
Yes, you can identify a level_zero device using programming API sycl::backend::ext_oneapi_level_zero.
Please refer to the below link for more details:
Thanks & Regards,
Noorjahan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We haven't heard back from you. Could you please provide an update on your issue?
Thanks & Regards,
Noorjahan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We assume that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Thanks & Regards,
Noorjahan.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page