OpenCL
More info
- Creator
- Apple, standardised by the Khronos Group
- Released
- 2009 (1.0)
- Type
- Open standard for parallel computing
- Website
- khronos.org/opencl
An open standard for running computation on GPUs, CPUs and FPGAs from the same source — the vendor-neutral counterweight to CUDA that never quite won.
Apple drafted the initial proposal and handed it to the Khronos Group, which shipped 1.0 at the end of 2008. The programming model resembles CUDA: a kernel is written in a C dialect and executed by thousands of work items in work groups, with global, local and private memory managed explicitly. The difference was that the same code was supposed to run on any vendor's hardware.
In practice portability lost. Nvidia had better tooling, better profilers and a library ecosystem CUDA code could lean on, while OpenCL driver quality varied wildly between vendors. The standard survives in embedded systems, signal processing and as an intermediate format via SPIR-V, while much new work goes to Vulkan Compute and SYCL instead.