- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We have OpenCL working on a single system in a cluster, after installing the intel-openclrt-18.1.0.013-18.1.0-013.x86_64 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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Never mind - we determined the necessary step after examining ocl-icd library file /lib64/libOpenCL.so
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/libintelocl.so"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
References:
CPU RT
SDK
GFX RT
- LICENSE file
- Documentation
System Admins who are really stuck with deployment may benefit from seeing a build and runtime deployment in video context. techdecoded.intel.io 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.
https://techdecoded.intel.io/ .... 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.
-MichaelC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page