OpenCL is standard for cross-platform hardware-independent parallel programming: http://www.khronos.com/opencl/ Current OpenCL packaging in Debian assumes that there can be many different OpenCL implementations present on the system. Each implementation is supposed to provide package opencl-icd (Installable Client Driver, ICD) which will allow for client software to chose OpenCL library to run. To have working OpenCL you need to have two packages installed, libopencl1 and opencl-icd: * libopencl1 is OpenCL management library which manages all OpenCL providers * opencl-icd points to particular OpenCL provider, e.g. AMD or NVIDIA While you can install as many of opencl-icd packages as you want (e.g. both amd-opencl-icd and nvidia-opencl-icd), you can install only one package providing libopencl1. I recommend using free ocl-icd-libopencl1 against which this package was build as it works well with different OpenCL providers. You can still try to use other (non-free) libraries, e.g. amd-libopencl1 or nvidia-libopencl1, but those are less stable and there have been problems with running them, especially while having many ICD installed. Error in function dlGetPlatformIDs means that there is no OpenCL implementation available on the system.