The non-profit organization Khronos has released the final specifications for the OpenCL 3.0 API. Recall that this API is designed for cross-platform parallel computing using multi-core CPU, GPU, FPGA, DSP and other specialized chips.
Khronos has tried to keep the OpenCL 3.0 implementation as simple as possible. Moving from OpenCL 1.2 or 2.2 to 3.0 does not require any code changes.
Along with that, OpenCL gets two new extensions:
- Request to return a universally unique identifier (UUID) for an OpenCL driver and device, which can be used to identify drivers and devices in processes or APIs.
- The Asynchronous DMA extension allows you to use DMA transactions to transfer data between global and local memory asynchronously (in parallel with ongoing computations or other data transfers). This extension will be in demand in devices based on Scratch Pad Memory. It is the first of several significant upcoming OpenCL enhancements to improve support for embedded processors.