OpenCL is an open source framework written in OpenCL C (based on C99) for writing programs, that can be executed across wide-range of computing platforms which
OpenCL™ is an open standard, maintained by the non-profit technology organization, named Khronos Group.
It is royalty-free standard for cross-platform, parallel programming of wide-range of processors generally found in personal computers, servers, mobile devices, and embedded system platforms.
OpenCL is a methodology for system architects and programming model for software engineers. It is based on standard ANSI C (C99) with extensions to extract parallelism, it allows the use of a
Memory hierarchy in OpenCL
It defines a 4 level memory hierarchy for the computing device
- global memory: Its global memory is shared by all processing elements, but also has high access latency (__global);
- read-only memory: smaller, low latency, writable by the host CPU but not the
- local memory: shared by a group of processing elements (__local);
- per-element private memory (registers; __private).
But at the same
OpenCL Versions :
OpenCL 1.0 August 28, 2009
OpenCL 1.1 June 14, 2010
OpenCL 1.2 November 15, 2011
OpenCL 2.0 November 18, 2013
OpenCL 2.1 March 3, 2015
OpenCL 2.2 May 16, 2017
Future of OpenCL
In the time of the release of OpenCL version 2.2, the Khronos Group announced that they are going to merge it into Vulkan in the future, and this will add some more improvement and extra features.