This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Original author(s) | Apple Inc. |
---|---|
Developer(s) | Khronos Group |
Initial release | August 28, 2009 |
Stable release | 3.0.17[1]
/ 24 October 2024 |
Written in | C with C++ bindings |
Operating system | Android (vendor dependent),[2] FreeBSD,[3] Linux, macOS (via Pocl), Windows |
Platform | ARMv7, ARMv8,[4] Cell, IA-32, Power, x86-64 |
Type | Heterogeneous computing API |
License | OpenCL specification license |
Website | www |
Paradigm | Imperative (procedural), structured, (C++ only) object-oriented, generic programming |
---|---|
Family | C |
Stable release | |
Typing discipline | Static, weak, manifest, nominal |
Implementation language | Implementation specific |
Filename extensions | .cl .clcpp |
Website | www |
Major implementations | |
AMD, Gallium Compute, IBM, Intel NEO, Intel SDK, Texas Instruments, Nvidia, POCL, Arm | |
Influenced by | |
C99, CUDA, C++14, C++17 |
OpenCL (Open Computing Language) 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 Khronos Group, a non-profit, open standards organisation. Conformant implementations (passed the Conformance Test Suite) are available from a range of companies including AMD, ARM, Cadence, Google, Imagination, Intel, Nvidia, Qualcomm, Samsung, SPI and Verisilicon.[8][9]