1
votes

I have an intel i7 haswell cpu, and I would like to start exploring OpenCL development. In particular, I am interested to run OpenCL code on the integrated GPU.

Unfortunately, by now, I was not able to find any SDK on Intel's site..

May you provide some links, together with a summary of the current status of OpenCL tools for the Linux platform and Intel hardware?

I think this would be useful to many other people..

Thanks a lot!

4
Seems like there is no SDK as such, but there are tools listed here: software.intel.com/en-us/intel-openclMats Petersson
Not sure if the integrated GPU is "good enough" to have a OpenCL driver. Could be that the integrated one doesn't have sufficient features to support OpenCL (I work with OpenCL at ARM, and there are quite a few things requireed from a GPU to allow it to support OpenCL, and some integrated GPU's are fairly basic)Mats Petersson
If your integrated graphics is 4000 series or higher, it should support opencl. Where else have you looked for drivers/support? have you asked intel directly? If you want to get coding the CPU for now, the AMD sdk supports intel cpus.mfa
Well I have a Xeon E3 with P4600, so I think it should support OpenCL. I looked at intel website, and also googled around, but I've found almost nothing.. AFAIK the AMD sdk (can you provide a link? I don't want to mess downloading wrong versions) supports only the cpu. It is better than nothing, but I'd be glad to try my code on the gpu.. It shoud be way faster than the cpu alone.. Thanks.MadHatter
The link from @MatsPetersson looks to be what you need. However, you can also just download the headers from Khronos and link to OpenCL.lib from the AMD, NVIDIA, or Intel SDKs (it's the same thing; a wrapper for OpenCL.dll installed in the OS common area). If you have a recent driver, the runtime is already on your machine.Dithermaster

4 Answers

3
votes

Intel does not provide free support for OpenCL on their iGPUs under Linux - you have to buy the Intel Media Server Studio, minimum $499. On Windows, you can download a free driver to get OpenCL capability for the iGPU: https://software.intel.com/en-us/articles/opencl-drivers#philinux.

Note that you can use any OpenCL SDK you want - it doesn't have to be Intel. The SDK is only useful for building your program. For running an OpenCL program, you need an appropriate runtime (driver) from the manufacturer. The AMD SDK will give you access to the CPU as an OpenCL device, but not the iGPU.

3
votes

There is Open Source OpenCL implementation for Intel GPUs on Linux called Beignet, maintained by bunch of guys from Intel.

Sadly, couldn't personally try and check if Your's GPU is properly supported, but on their wiki they states:

Supported Targets

4th Generation Intel Core Processors "Haswell", need kernel patch currently, see the "Known Issues" section.

Beignet: self-test failed" and almost all unit tests fail. Linux 3.15 and 3.16 (commits f0a346b to c9224fa) enable the register whitelist by default but miss some registers needed for Beignet.

This can be fixed by upgrading Linux, or by disabling the whitelist:

# echo 0 > /sys/module/i915/parameters/enable_cmd_parser

On Haswell hardware, Beignet 1.0.1 to 1.0.3 also required the above workaround on later Linux versions, but this should not be required in current (after 83f8739) git master.

So, it's worth a shoot. Btw, it worked well on my 3rd generation HD4000.

Also, toolchain and driver in question includes bunch of GPU-support test cases.

2
votes

For anyone who comes across this question as I did, the existing answers have some out-of-date information; Intel now offers free drivers for Linux on the site posted above: https://software.intel.com/en-us/articles/opencl-drivers#philinux

The drivers themselves are only supported on 5th, 6th and 7th gen Core processors (and a bunch of other Celerons and Xeons, see link), with earlier processors such as 4th gen still needing the Media Server Studio. However, they now offer a Linux Community version of Media Server Studio which is free to download.

They also have a Driver Support Matrix for Intel Media SDK and OpenCL which has some useful information about compatibility: https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl

0
votes

You may check intel open source Beignet OpenCL library: http://arrayfire.com/opencl-on-intel-hd-iris-graphics-on-linux/ For me (ubuntu 15.10 + Intel i5 4th generation GPU) it works quite well.

P.S.

Also I must say that I managed to download "media server" for linux a couple of months ago (but didn't used it yet). So you may check it also.