- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am a beginer in OpenCL, trying to learn it with intel opencl implementaion with CPU. I see`libigdrcl.so` is referred in the intel.icd file, while in some OpenCL tutorials(not for intel CPU implementation) the .icd file will refer the `libOpenCL.so` file instead. What is the relation between `libigdrcl.so` and `libOpenCL.so`?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good question! I actually wrote a blog/article about this a few years ago. It's more about troubleshooting OpenCL on Linux, but it covers both of these components:
https://github.com/bashbaug/OpenCLPapers/blob/master/OpenCLOnLinux.asciidoc
In short:
On most systems, libOpenCL.so is the "OpenCL ICD loader". This is a shared component that applications link to that knows how to discover OpenCL drivers installed on a system and send OpenCL calls to the right driver. Note: ICD is an acronym for "installable client driver".
libigdrcl.so is the "Intel GPU OpenCL driver", or alternatively, the "Intel GPU OpenCL ICD". This implements the OpenCL APIs for Intel GPUs.
There could be other drivers installed on the system to support other devices. The .icd file in /etc/OpenCL/vendors tells the OpenCL ICD loader which drivers are installed and how to load them.
Hope this helps!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page