| Original author(s) | Apple Inc. |
|---|---|
| Developer(s) | Khronos Group |
| Initial release | August 28, 2009 |
| Stable release |
2.1 revision 23 / November 11, 2015
|
| Preview release |
2.2 (provisional) revision 06 / March 11, 2016
|
| Development status | Active |
| Written in | C/C++ |
| Operating system | Android (vendor dependent),FreeBSD,Linux, macOS, Windows |
| Platform | ARMv7, ARMv8,Cell, IA-32, POWER, x86-64 |
| Type | Heterogeneous computing API |
| License | OpenCL specification license |
| Website | www |
| As of | 25 December 2015 |
| Paradigm | Imperative (procedural), structured, object-oriented (C++ only) |
|---|---|
| Family | C |
| Stable release |
OpenCL C 2.0 revision 33 / March 2, 2016
|
| Preview release |
OpenCL C++ 1.0 provisional specification revision 8 / March 2, 2015
|
| Typing discipline | Static, weak, manifest, nominal |
| Implementation language | Implementation specific |
| Filename extensions | .cl |
| Website | www |
| Major implementations | |
| AMD, Apple, freeocl, Gallium Compute, IBM, Intel Beignet, Intel SDK, Nvidia, pocl | |
| Influenced by | |
| C99, CUDA, C++14 | |
Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language (based on C99) for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
OpenCL is an open standard maintained by the non-profit technology consortium Khronos Group. Conformant implementations are available from Altera, AMD, Apple, ARM, Creative, IBM, Imagination, Intel, Nvidia, Qualcomm, Samsung, Vivante, Xilinx, and ZiiLABS.