OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1719 Discussions

Installing OpenCL in a Linux cluster



We have OpenCL working on a single system in a cluster, after installing the intel-openclrt- rpm.

But the standard practice for clusters is to install such packages on a network share, so they're accessible to all cluster systems without resorting to installing packages on each system.

Is there a guide available on installing OpenCL in such a network share?  We've determined that simply making the library files available and referring to their directory in LD_LIBRARY_PATH is not sufficient.

0 Kudos
3 Replies

Never mind - we determined the necessary step after examining ocl-icd library file /lib64/


In short, set the environment variable OPENCL_VENDOR_PATH to point to the directory containing vendor files.  Edit the files in the directory to point to the new library location.  In this case, that's intel64.icd, which now contains "/software/opencl/intel/18.1/compiler/lib/intel64_lin/"

0 Kudos

Hi CalvinD,


Thanks for the interest and the consideration.

ocl-icd as it's named in some package managers is one implementation of the OpenCL™ ICD Loader library... the current implementation has some more flexibility about where implementation references can live.

The current khronos reference OpenCL™ ICD Loader Library doesn't have the same environment variable features.

This is main feature difference I'm aware of... I hope others share any relevant feature differences in this thread. Both projects are currently posted on GitHub.

Thanks for sharing your use case. Current licensing and design for deployment of some OpenCL™ components from Intel (i.e. the CPU RT) isn't targeted for multiuser environment deployments. When customers experience gaps it's useful to hear about it on the forums and it is taken into consideration for the product.



Release notes


Release Notes


System Admins who are really stuck with deployment may benefit from seeing a build and runtime deployment in video context. shows building/installing Intel® Graphics Compute Runtime for OpenCL™ Driver for CentOS*. Keep in mind lots of work/changes are constantly going into this implementation... The basics should be more or less the same. This deployment leverages ocl-icd. .... See OpenCL™ Runtime Deployment on Linux* OS.

Altering the .icd file content as indicated could be useful for certain system administrators... Note that references in Windows* OS are in the registry.



0 Kudos

Hi, I think my issue is somehow related to this topic so I didn't want to create a new one. I am using slurm 17.11.3-2 version on a small ROCKS 7 cluster. I have two gpu nodes with nvidia driver 384.111 and opencl framework installed. Moreover in /etc/OpenCL/vendors directory there are two files (nvidia.icd and intel.icd). However when I remove nvidia.icd file to another location and leave only intel.icd file in /etc/OpenCL/vendors directory everything works fine. Also, what is interesting that my code with OpenCL framework works also fine when I am running code directly from gpu node and every time I am not even using gpu memory. Can someone explain how OpenCL interacts with .icd files and why code can not be completed (it stops at ~10 GB of RAM allocated instead of ~16-20 GB) when nvidia.icd persist?

0 Kudos