Am 30.11.23 um 01:22 schrieb Aaron Puchert:
Am 29.11.23 um 12:38 schrieb Peter McD:
Am 29.11.23 um 08:15 schrieb Patrik Jakobsson:
Can you detect the card with clinfo?
first the suggested link
ln -s /usr/lib64/libOpenCL.so.1 /usr/lib64/libOpenCL.so
Probably not needed, at least not for clinfo:
readelf --dynamic /usr/bin/clinfo | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libOpenCL.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
The symlink should only be needed for development, and then you can find it in ocl-icd-devel.
The problem seems rather that the installation isn't being found. Installations are dynamically loaded from those listed in /usr/share/OpenCL/vendors and /etc/OpenCL/vendors. Unfortunately existence of the latter precludes installations from the former directory from being recognized with the loader from ocl-icd, if nothing changed since 2020 (https://bugzilla.opensuse.org/show_bug.cgi?id=1173005). Ideally you can remove /etc/OpenCL/vendors entirely if all vendors are in /usr. If not, symlink those from /usr that you want into /etc.
The files in that directory are text files containing the name of a library that should sit in /usr/lib64. Here with Mesa-libOpenCL:
$ cat /usr/share/OpenCL/vendors/mesa.icd libMesaOpenCL.so.1
So in this case the implementation is in /usr/lib64/libMesaOpenCL.so.1, which will then be loaded via dlopen.
If you have such a text file and the library exists, I'd suggest to run clinfo under strace. You should see it find the file, then load the library, then look up symbols. Check where it stops.
Thanks, I'll will lock at that later. cu Peter