You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wasn't having a functioning OpenCL backend, on my Fedora 40/41 with NVIDIA driver setup. Turns out there is no libOpenCL.so, but instead the soname versioning starts with libOpenCL.so.1, which symlinks to libOpenCL.so.1.0.0.
I'm not super familiar with these so versioning strategies, but I can confirm Halide works fine when adding libOpenCL.so.1 to the list of attempted library names in the opencl runtime module. What would be the most correct / portable soname for libOpenCL?
No guarantees, but ChatGPT says you should use libOpenCL.so.1 (and I didn't bias it).
The text was updated successfully, but these errors were encountered:
There are three paths that are commonly associated with shared libraries on Linux:
The real library is named libFoo.so.X.Y.Z with the whole version attached.
A soname link like libFoo.so.W links to the real library. It is not required that W equal X. W is the soversion, which determines binary compatibility.
A library name like libFoo.so with no version information. This is the path searched by linkers, like ld.
In the case of OpenCL and other driver libraries we dynamically load, we should use the soname (2). That's the one that's typically installed as part of the runtime package (i.e. not -dev).
Thus, the appropriate one to use is libOpenCL.so.1.
I wasn't having a functioning OpenCL backend, on my Fedora 40/41 with NVIDIA driver setup. Turns out there is no
libOpenCL.so
, but instead the soname versioning starts withlibOpenCL.so.1
, which symlinks tolibOpenCL.so.1.0.0
.I'm not super familiar with these so versioning strategies, but I can confirm Halide works fine when adding
libOpenCL.so.1
to the list of attempted library names in the opencl runtime module. What would be the most correct / portable soname for libOpenCL?No guarantees, but ChatGPT says you should use
libOpenCL.so.1
(and I didn't bias it).The text was updated successfully, but these errors were encountered: