OpenCL 2.0 overview

What's possible with OpenCL 2.0 today?

AMD

AMDGPU-PRO is the closed-source implementation of OpenCL 2.x for AMD. It only targets AMD GPU. AMD used to provided a CPU target, but it is OpenCL 1.2 only.

rocm is the heterogeneous computing effort of AMD, and is open-source. It also has an OpenCL 2.x target for GPU only. It should be noted that there are many restriction on the supported hardward (e.g., Raven ridge APU, aka Ryzen APU, are _not_ supported).

The debugger is CodeXL (?). It does not seem to support rocm debugging in the latest 2.5 version.

rocm also has both a llvm-based and a gdb-based debugger, but both are old compared to the latest rocm 1.7 release.

Intel

Intel OpenCL SDK is the closed-source implementation of OpenCL 2.x for Intel. It targets both CPU and GPU in OpenCL 2.x.

beignet and now neo are the open-source implementations. Both support OpenCL 2.0, but only for GPU target, no CPU target. They support different platforms. See [1] and [2].

Like AMD, Intel modified gdb for GPU debugging.

Nvidia

There is a beta support for OpenCL 2.x in the lastest Cuda SDK. No CPU target.

Others

Oclgrind only supports OpenCL 1.2.

pocl supports CPU and GPU targets in OpenCL 2.x.