[Pkg-opencl-devel] OpenCL and multiarch
Rebecca N. Palmer
rebecca_palmer at zoho.com
Tue Feb 24 13:13:22 UTC 2015
> I have symlinks (installed by nvidia-opencl-icd-331):
> /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
> /usr/lib//i386-linux-gnu/libnvidia-opencl.so.1
> [...]
> I am able to run a 32-bit OpenCL application, GPU Caps Viewer [1], in WINE.
That's because Ubuntu's "amd64" nvidia-opencl-icd-<version> is actually
amd64 and i386 in one package, which isn't allowed in Debian (Policy
9.1.1.4), and isn't done by Debian's nvidia-opencl-icd.
>>> requires the ICD loader to properly handle
>>> the error from attempting to load libraries for the wrong architecture.
> which dlopen() should do automatically
Confirmed: after installing beignet-opencl-icd:i386,
mesa-opencl-icd:amd64 and pocl-opencl-icd:amd64, clinfo:amd64 sees pocl
and mesa, clinfo:i386 sees beignet.
> It's only problematic for icds that don't live in /usr/lib/<triplet>,
Meaning just beignet; mesa and pocl already use a relative path in their
.icd file, so could probably be multiarch same (libpocl1, though not
pocl-opencl-icd, already is).
I'll investigate moving beignet to /usr/lib/<triplet>.
More information about the Pkg-opencl-devel
mailing list