[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