Hi again,
So I’ve been trying to use OpenCL on my Intel ARC, but it appears as though it’s not even listed in CLInfo. I have had little success debugging this myself, but here’s the strace
of clinfo
: https://paste.sr.ht/~hutzdog/232fbaabcc28ab86f373232106f8a5d946cceb0a . There is only one ICD in /etc/OpenCL/vendors/
(intel64.icd), and I have the i915 driver (as Xe doesn’t appear to be supported, I’ve reverted it).
@hutzdog1 Only with oneapi and very likely on Leap only…
https://www.intel.com/content/www/us/en/docs/oneapi-base-toolkit/get-started-guide-linux/2024-0/overview.html
It all depends on what your wanting to do…
You need to add to the grub options i915.enable_hangcheck=0
If you go ahead, only use the 2023 base kit and tools, 2024 broke on Leap…
So, I have OneAPI installed through the repos and I can build software that depends on it. It just doesn’t appear to list my GPU. Should I install it directly from Intel then?
@hutzdog1 if you run the diagnostics tests, what does it show, also add your user to the video and render groups if you haven’t already…
Did you create the udev rule?
@hutzdog1 So as root user I see;
/opt/intel/oneapi/diagnostics/latest/bin/diagnostics.py --force --select intel_gpu_detector_check -vv
Checks results:
=============================================================================================================================================
Check name: intel_gpu_detector_check
Description: This check shows which Intel GPU(s) is on the system, based on lspci information and internal table.
=============================================================================================================================================
| GPU information |
| ├─Intel® Graphics Driver is loaded------------------------------------------------------------------------------------------------PASS |
| ├─Intel GPU(s) is present on the--------------------------------------------------------------------------------------------------PASS |
| │ bus |
| ├─Number of Intel GPU(s) on the-------1-------------------------------------------------------------------------------------------INFO |
| │ system |
| └─Initialized devices |
| └─Intel GPU #1 |
| ├─GPU id--------------------------0x56a5--------------------------------------------------------------------------------------INFO |
| ├─Bus info------------------------0000:05:00.0--------------------------------------------------------------------------------INFO |
| ├─EU Counts-----------------------128-----------------------------------------------------------------------------------------INFO |
| ├─Platform------------------------DG2-----------------------------------------------------------------------------------------INFO |
| ├─GuC firmware--------------------dg2_guc_70.bin------------------------------------------------------------------------------INFO |
| ├─HuC firmware--------------------dg2_huc_gsc.bin-----------------------------------------------------------------------------INFO |
| ├─GPU type------------------------Discrete------------------------------------------------------------------------------------INFO |
| ├─PCI bus-tree--------------------pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:01.0/0000:05:00.0------------------------------INFO |
| └─Tile count----------------------1-------------------------------------------------------------------------------------------INFO |
I see this as root, and have added myself to those groups already. What Udev rule do I need to create?
❯ sudo /opt/intel/oneapi/diagnostics/latest/bin/diagnostics.py --force --select intel_gpu_detector_check -vv
Checks results:
==============================================================================================================================================================================================================================================================================
Check name: intel_gpu_detector_check
Description: This check shows which Intel GPU(s) is on the system, based on lspci information and internal table.
==============================================================================================================================================================================================================================================================================
| GPU information |
| ├─Intel® Graphics Driver is loaded---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PASS |
| ├─Intel GPU(s) is present on the-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PASS |
| │ bus |
| ├─Number of Intel GPU(s) on the-------1----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| │ system |
| └─Initialized devices |
| └─Intel GPU #1 |
| ├─GPU id--------------------------0x56a0-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─Bus info------------------------0000:0b:00.0-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─EU Counts-----------------------512--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─Platform------------------------DG2--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─GuC firmware--------------------dg2_guc_70.bin---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─HuC firmware--------------------dg2_huc_gsc.bin--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─GPU type------------------------Discrete---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| ├─PCI bus-tree--------------------pci0000:00/0000:00:03.1/0000:09:00.0/0000:0a:01.0/0000:0b:00.0---------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
| └─Tile count----------------------1----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INFO |
Output directory: /root/intel/diagnostics/logs
Text report: diagnostics_select_force_verbosity_localhost.localdomain_20240809_120108999799.txt
JSON report: diagnostics_select_force_verbosity_localhost.localdomain_20240809_120108999808.json
Proof I’m in the groups:
❯ groups
hutzdog docker video render
I found the UDEV rules and am using the site to debug further. Does it matter that I’m using an AMD CPU?
OK, so apparently I needed to run OneAPI’s setvars before clinfo
showed the device.
Actual solution: you manually have to set the OCD file paths (OCL_ICD_VENDORS and OCL_ICD_FILENAMES) to Intel’s values or everything breaks.
@hutzdog1 which the paths/files where?
The environment variables need to have these values (tested on Tumbleweed 20240807)
❯ env | grep OCL_ICD
OCL_ICD_VENDORS=/etc/OpenCL/vendors/
OCL_ICD_FILENAMES=/usr/lib64/intel-opencl/libigdrcl.so
@hutzdog1 Yes, so in my case I just created a soflink ln -s /usr/share/OpenCL/vendors/intel.icd /etc/OpenCL/vendors/intel.icd
and this took care of the need to export…
I have the intel-level-zero-gpu-raytracing
built, pulled the intel-level-zero-gpu
file from the SLE 15 SP run file until can get that built…
Not a speed daemon on this machine, no rebar and PCIe 3.0, but that’s why I have Nvidia…
clinfo |grep "Device Name"
Device Name Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
Device Name NVIDIA T400
Device Name Intel(R) Arc(TM) A380 Graphics
Ref: https://build.opensuse.org/package/show/home:malcolmlewis:TESTING/intel-level-zero-gpu-raytracing
system
Closed
August 18, 2024, 1:02am
13
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.