109

I have a very simple Toshiba Laptop with i3 processor. Also, I do not have any expensive graphics card. In the display settings, I see Intel(HD) Graphics as display adapter. I am planning to learn some cuda programming. But, I am not sure, if I can do that on my laptop as it does not have any nvidia's cuda enabled GPU.

In fact, I doubt, if I even have a GPU o_o

So, I would appreciate if someone can tell me if I can do CUDA programming with the current configuration and if possible also let me know what does Intel(HD) Graphics mean?

Ciro Santilli OurBigBook.com
  • 347,512
  • 102
  • 1,199
  • 985
Ankit
  • 6,772
  • 11
  • 48
  • 84

6 Answers6

66

At the present time, Intel graphics chips do not support CUDA. It is possible that, in the nearest future, these chips will support OpenCL (which is a standard that is very similar to CUDA), but this is not guaranteed and their current drivers do not support OpenCL either. (There is an Intel OpenCL SDK available, but, at the present time, it does not give you access to the GPU.)

Newest Intel processors (Sandy Bridge) have a GPU integrated into the CPU core. Your processor may be a previous-generation version, in which case "Intel(HD) graphics" is an independent chip.

Eugene Smith
  • 9,126
  • 6
  • 36
  • 40
  • 3
    Intel now appears to be advertising OpenCL drivers for the HD Graphics on some platform (see supported platforms here: https://software.intel.com/en-us/articles/intel-sdk-for-opencl-applications-release-notes) – charo May 22 '14 at 19:27
  • 4
    'Newest Intel processors (Sandy Bridge) have a GPU integrated into the CPU core' - does it mean that GPU is involved in all computations (for example matrix multiplications)? – QtRoS Dec 21 '16 at 21:30
  • 1
    It's also possible to convert CUDA programs to OpenCL 1.2 using the [Coriander](https://github.com/hughperkins/coriander) compiler. – Anderson Green Apr 25 '20 at 18:33
19

Portland group have a commercial product called CUDA x86, it is hybrid compiler which creates CUDA C/ C++ code which can either run on GPU or use SIMD on CPU, this is done fully automated without any intervention for the developer. Hope this helps.

Link: http://www.pgroup.com/products/pgiworkstation.htm

Guillaume Jacquenot
  • 11,217
  • 6
  • 43
  • 49
user1401491
  • 441
  • 4
  • 4
8

If you're interested in learning a language which supports massive parallelism better go for OpenCL since you don't have an NVIDIA GPU. You can run OpenCL on Intel CPUs, but at best you can learn to program SIMDs. Optimization on CPU and GPU are different. I really don't think you can use Intel card for GPGPU.

endolith
  • 25,479
  • 34
  • 128
  • 192
captain
  • 815
  • 14
  • 26
5

Intel HD Graphics is usually the on-CPU graphics chip in newer Core i3/i5/i7 processors.

As far as I know it doesn't support CUDA (which is a proprietary NVidia technology), but OpenCL is supported by NVidia, ATi and Intel.

Martijn
  • 1,620
  • 9
  • 18
  • 2
    None of the current Intel embedded GPUs support openCL. Sandybridge and newer does support it on the CPU but in that case it's not likely to be any faster than SIMD – Martin Beckett Nov 20 '11 at 18:06
0

in 2020 ZLUDA was created which provides CUDA API for Intel GPUs. It is not production ready yet though.

morgwai
  • 2,513
  • 4
  • 25
  • 31
0

I have been using OpenCL 3.0 on Intel Iris Plus Graphics G7 while on Ubuntu 22.04. Here is the link to the installer script I wrote.

grad f
  • 47
  • 5