It looks like that Intel provides many OpenCL implementations.ArchWiki describes OpenCL implementations. It says that beignet and intel-opencl are deprecated. Then, what is difference between intel-compute-runtime, intel-opencl-runtime, and intel-opencl-sdk?
I want to use OpenCL on my x86 computer.
The following OpenCL runtimes expose your Intel integrated GPU as an OpenCL device to applications in your PC:
The Intel OpenCL runtime exposes your CPU as an OpenCL device to applications in your PC.
An OpenCL ICD loader is vendor-independent and allows you to select which OpenCL device to use at runtime. There are several available, but I suggest ocl-icd, since it's open source and typically up-to-date.
For developing your own OpenCL programs you also need the OpenCL headers, which you can download from here or install from the Arch repositories.
The so called SDKs are simply vendor bundles that generally contain: a) an OpenCL runtime to expose the vendor hardware as an OpenCL device; b) an OpenCL ICD loader, so that various processors can be exposed as OpenCL devices; c) the OpenCL headers; d) code samples on how to best use OpenCL on the vendor hardware; and, e) possibly other vendor related stuff.
Some examples of SDKs include:
You don't actually need an SDK to develop OpenCL applications, as long as you have an OpenCL runtime, an OpenCL ICD loader and the OpenCL headers. If developed in C/C++, your applications should include the headers and link against an ICD loader (libOpenCL.so
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With