to distribute the OpenCL SDK to our compute cluster, we want to create a module for it. However, we have some trouble to establish a correct environment: We relocated the installation to another directory. For compilation we set explicitly the include path to the include folder in INTELOCLSDKROOT (intel/OpenCL/1.5-15293/include) and the link path to the lib64 folder in INTELOCLSDKROOT (..intel/OpenCL/1.5-15293/lib64). Additionally, we added LD_LIBRARY_PATH by ..intel/OpenCL/1.5-15293/lib64.
Now, compilation and linkage works. However, the program does not find an appropriate Intel platform (clgetplatformids returns with error code 1001), although the hardware is supported for the Intel OpenCL SDK.
Did we miss some environment variables? We appriciate any hints!
Please look at /etc/OpenCL/vendors/intelocl64.icd file. The only string in this file is the location of libintelocl.so library. Modify it to point to the correct location, something like /full/path/intel/OpenCL/1.5-15293/lib64/libintelocl.so.
I just went through a relatively long struggle to get even the Monte Carlo Sample to work after installation on Ubuntu (Android Development is recommended on Ubuntu). I used the alien tool to convert the OpenCL SDK .rpm packages to .deb. Then the automatic installation via Ubuntu Software Center goes into /opt/intel/opencl-.../ . However, it seems the installation is not copying the .icd file to the required location. With the help of this post I was able to figure this out and: sudo cp /opt/intel/opencl-1.2-3.0.67279/etc/intel64.icd /etc/OpenCL/vendors/ fixes it.
I would like to recommend adding this piece of information to either the SDK installation instructions or the README files in the samples as it is quite time-consuming to figure this out reading through the Forum... Anyway - thanks very much for this post!