OpenCL application deployment on Linux

Discussion created by brevilo on Mar 7, 2011
Latest reply on Mar 10, 2011 by himanshu.gautam




Background: I want to deploy an OpenCL application on Linux and the target boxes comprise ATI as well as NVIDIA GPUs (not at the same time of course). While the NVIDIA OpenCL installation on those systems works just fine, the ATI equivalent seems a bit odd… Please correct me if I'm wrong...


1) It seems that the "OpenCL runtime" (libOpenCL) is not installed with the ATI Catalyst display driver, it's shipped only with the Stream/APP SDK. Is this correct? This would require the SDK to be installed on the target systems, too, while NVIDIA users just need to install the driver (which they have to do anyway) and are ready to go.


2) ATI seems to violate so-name conventions regarding the libOpenCL shared library. AFAIK it's common standard that shared libraries bear a so-name including their major version number, like The ATI incarnation doesn't. My understanding has been that it should be possible to use a given OpenCL build environment, regardless of the actual vendor, and run the binary (dynamically linked to "a" libOpenCL) on any system that provides the OpenCL runtime components - again regardless of the vendor. If this should be possible, having different so-names for ATI's libOpenCL compared to NVIDIA's libOpenCL precludes that possibility, right?


Your thoughts?