OpenCL support in graphics cards & on the Intel HD3000

graphics cardopencl

What does it mean when a graphic card mentions it supports native OpenCL?

And what happens when it doesn't? And how does intel 3000 cope with it? How are performances and processing cell numbers?

Best Answer

Hopefully this will cover everything:

  • OpenCL is a standard for running massively parallel computations across many processors simultaneously. This does not necessarily need to be graphics processors; OpenCL workloads can be run on traditional CPUs.
  • Because graphics processors contain many small compute cores, usually optimized for floating point math, they lend themselves well to some types of massively parallel computations. Typically the math being done is rendering 3D graphics, but it could be generic computations. This concept in general is called GPGPU. Most modern GPUs support OpenCL as a means of permitting GPGPU to occur.
  • Intel HD Graphics 3000 supports OpenCL 1.1. It contains 12 execution units. Compare this with discrete graphics cards which, at the high end, can have hundreds of execution units.

Hopefully it will become apparent that, while you can run OpenCL jobs on the HD 3000, if you have a lot of such work to do, you would do better to buy a high-end graphics card to run it on, as you would get much better parallelization (and thus performance).

Related Question