11

I'm developing on SBC (which have Intel I7 3ed or 4ed, and doesn't have external GPU) I'm using linux. I want to take the advantage of Intel processor graphics . I thought to learn developing with Cuda or OpenCl. I read some old posts (several years ago) (and I'm not sure there is a better technology now):

Can i run CUDA on Intel

GPU Programming, CUDA or OpenCL

  1. Can I run cuda code on Intel processor graphics ?
  2. Can I run OpenCl code on Intel processor graphics ?
  3. If I can run Cuda & OpenCl code on Intel processor graphics, which is better ?
Cœur
  • 37,241
  • 25
  • 195
  • 267
Azil
  • 457
  • 2
  • 5
  • 10
  • 2
    You cannot run CUDA (device) code on an intel processor. You may be able to run OpenCL code on an intel processor (not sure of the specifics of your SBC.) As such I am re-tagging this question from CUDA to OpenCL. – Robert Crovella Jun 13 '15 at 15:00
  • Thanks, you wrote: "You may be able to run OpenCL " Is there any limitation ? (I'm using Intel 3rd/4rd generation, which has processor graphics) – Azil Jun 13 '15 at 15:19
  • In general, I would think you could run OpenCL on an i7 intel processor. But I'm an not an expert on this. I suggest you wait and see if anyone else has suggestions. – Robert Crovella Jun 13 '15 at 15:23

3 Answers3

12

As @Robert Crovella said you cannot run CUDA on Intel GPU/CPU. Where it comes to OpenCL you have few choices:

  1. Intel OpenCL Driver for Intel GPU and CPU
  2. Open Source Beignet for Intel GPU
  3. AMD APP SDK which can be run on Intel CPU

I cannot say which one will be best for Intel GPU on Linux. I think Beignet was first to support Intel GPU then official Intel drivers appeared. For Intel CPU on Linux I use AMD APP SDK.

doqtor
  • 8,414
  • 2
  • 20
  • 36
  • Just to be sure, all of the 3 run on the gpu which locates on the Intel processor ? – Azil Jun 13 '15 at 16:13
  • No, only the first 2 (Intel official and Beignet). AMD APP SDK on CPU only. – doqtor Jun 13 '15 at 16:15
  • 1
    (1) and (3) are identical; they both use the OpenCL API, just using a different SDK package. The performance will be identical because the underlying Intel integrated graphics OpenCL GPU driver is the same. – Dithermaster Jun 14 '15 at 17:00
  • @Dithermaster Yes they are identical in a sense that you can run both on Intel GPU provided you have installed GPU driver. But if (1) is installed then (3) is not really needed - (1) has to be installed with the whole Intel Media Server Studio which already contains OpenCL SDK. I mentioned (3) to say that installed alone it is capable of running OpenCL on Intel CPU. – doqtor Jun 14 '15 at 18:02
  • 1
    Sure, but he was asking about Intel GPU, not CPU. – Dithermaster Jun 17 '15 at 13:53
  • 1
    You answer is misleading. Beignet is only for the GPU. – Z boson Nov 29 '15 at 14:25
  • for lazy folks here is the link to the github repo of the intel openCL driver with installation instructions: https://github.com/intel/compute-runtime#installation-options – morgwai Oct 02 '21 at 04:52
  • beignet seems no longer supported: last release in 2017 – morgwai Oct 02 '21 at 04:55
7

You can now :-) Using: coriander, which is an NVIDIA® CUDA™ compiler for OpenCL 1.2 GPUs (full disclosure: I'm the author)

Hugh Perkins
  • 7,975
  • 7
  • 63
  • 71
  • Is the Coriander compiler still being maintained? I found a more recent compiler ([HIP](https://github.com/ROCm-Developer-Tools/HIP)) that was developed for the same purpose. – Anderson Green Aug 03 '20 at 00:27
  • HIP is AMD-specific. Coriander aims to be portable across OpenCL 1.2 devices. – Hugh Perkins Aug 27 '20 at 02:17
0

Those who have Intel UHD graphics just install the openCL driver and then all will be okay <3. I am using Ubuntu 22.04 and its works on my Intel UHD graphics 620.

Sourav Emon
  • 121
  • 1
  • 7