Open standard for programming heterogenous computing systems, such as CPUs or GPUs
Not to be confused with OpenGL.
For the cryptographic library initially known as OpenCL, see Botan (programming library).
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation).(June 2022) (Learn how and when to remove this message)
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details.(October 2021) (Learn how and when to remove this message)
(Learn how and when to remove this message)
OpenCL API
Original author(s)
Apple Inc.
Developer(s)
Khronos Group
Initial release
August 28, 2009; 14 years ago (2009-08-28)
Stable release
3.0.16[1]
/ 5 April 2024; 24 days ago (5 April 2024)
Written in
C with C++ bindings
Operating system
Android (vendor dependent),[2] FreeBSD,[3] Linux, macOS (via Pocl), Windows
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 programming languages (based on C99, C++14 and C++17) 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, ARM, Creative, IBM, Imagination, Intel, Nvidia, Qualcomm, Samsung, Vivante, Xilinx, and ZiiLABS.[8][9]
^"The OpenCL Specification".
^"Android Devices With OpenCL support". Google Docs. ArrayFire. Retrieved April 28, 2015.
^"FreeBSD Graphics/OpenCL". FreeBSD. Retrieved December 23, 2015.
^"Conformant Products". Khronos Group. Retrieved May 9, 2015.
^Sochacki, Bartosz (July 19, 2019). "The OpenCL C++ 1.0 Specification" (PDF). Khronos OpenCL Working Group. Retrieved July 19, 2019.
^Munshi, Aaftab; Howes, Lee; Sochaki, Barosz (April 27, 2020). "The OpenCL C Specification Version: 3.0 Document Revision: V3.0.7" (PDF). Khronos OpenCL Working Group. Archived from the original (PDF) on September 20, 2020. Retrieved April 28, 2021.
^"The C++ for OpenCL 1.0 and 2021 Programming Language Documentation". Khronos OpenCL Working Group. December 20, 2021. Retrieved December 2, 2022.
^"Conformant Companies". Khronos Group. Retrieved April 8, 2015.
^Gianelli, Silvia E. (January 14, 2015). "Xilinx SDAccel Development Environment for OpenCL, C, and C++, Achieves Khronos Conformance". PR Newswire. Xilinx. Retrieved April 27, 2015.
developers. C++ for OpenCL sources can be compiled by OpenCL drivers that support cl_ext_cxx_for_opencl extension. Arm has announced support for this extension...
Rhinoceros and others. All software with CUDA or OpenCL, such as ANSYS, NASTRAN, ABAQUS, and OpenFoam, can benefit from VCA. The DGX-1 is available with...
no more. "GEGL-OpenCL". GitHub. 28 September 2021. "GIMP - StreamComputing launches GEGL-OpenCL project". 28 January 2016. Free and open-source software...
WebCL (Web Computing Language) is a JavaScript binding to OpenCL for heterogeneous parallel computing within any compatible web browser without the use...
CUDA-powered GPUs also support programming frameworks such as OpenMP, OpenACC and OpenCL. CUDA was created by Nvidia in 2006. When it was first introduced, the name...
multiple execution environments, including the Vulkan graphics API and the OpenCL compute API, to represent a shader or kernel. It is also used as an interchange...
An OpenCL-based GPU interface has been in progress since October 2012, documentation for version 2.4.13.3 can be found at docs.opencv.org. OpenCV runs...
version of Direct3D fully supported. OpenGL – Maximum version of OpenGL fully supported. OpenCL – Maximum version of OpenCL fully supported. Vulkan – Maximum...
with OpenCL. Only the most process intensive parts of the application need to be written in OpenCL C without affecting the rest of the code. OpenCL is an...
open-source graphics device driver#ATI/AMD. OpenCL accelerates many scientific Software Packages against CPU up to factor 10 or 100 and more. OpenCL...
OpenCL 1.0 to 1.2 are supported for all chips with Terascale or GCN architectures. OpenCL 2.0 is supported with GCN 2nd gen. or higher. Any OpenCL 2...
first Open-CL 1.1-Driver is public: AMD Catalyst 10.10". GPU-Tech. Archived from the original on September 4, 2022. Retrieved June 14, 2022. "OpenCL 1.2...
12_1), OpenGL 4.6, OpenCL 3.0 and Vulkan 1.2 In OpenCL 3.0, OpenCL 1.2 functionality has become a mandatory baseline, while all OpenCL 2.x and OpenCL 3.0...
as part of the Amber branch. New OpenCL driver is Mesa RustiCL and this driver written in new language Rust is OpenCL 3.0 conformant for Intel XE Graphics...
the OpenCL working group and was originally developed for use with OpenCL and SPIR, SYCL is a Khronos Group workgroup independent from the OpenCL working...
feature GDDR6 memory. In OpenCL 3.0, OpenCL 1.2 functionality has become a mandatory baseline, while all OpenCL 2.x and OpenCL 3.0 features were made optional...
profiles. When releasing OpenCL 2.2, the Khronos Group announced that OpenCL would converge where possible with Vulkan to enable OpenCL software deployment...
instead of Turing's. In OpenCL 3.0, OpenCL 1.2 functionality has become a mandatory baseline, while all OpenCL 2.x and OpenCL 3.0 features were made optional...
artistic effects: Charcoal sketch transform Posterization ImageMagick can use OpenCL to use an accelerated graphics card (GPU) for processing. The Q8 version...
Direct3D 11, OpenCL 1.2, OpenGL ES 3.2 and Vulkan 1.0 (except Adreno 405) All models support the following APIs: Direct3D 11, OpenCL 2.0, OpenGL ES 3.2 and...
0 and OpenGL 4.5 possible for GCN with Driver Update FirePro equal to Radeon Crimson 16.3 or higher. OpenCL 2.1 and 2.2 possible for all OpenCL 2.0-Cards...
equivalents. Arc support OpenCL 3.0 for example, this GPU can work in the grid World Community Grid. In OpenCL 3.0, OpenCL 1.2 functionality has become...
2023-11-28. "OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander". July 14, 2019 – via GitHub. "DLPrimitives/OpenCL out of tree...
the earliest widely adopted programming model for GPU computing. OpenCL is an open standard defined by the Khronos Group that allows for the development...
increased performance. OpenCL accelerates many scientific Software Packages against CPU up to factor 10 or 100 and more. OpenCL 1.0 to 1.2 are supported...
and open-source graphics device driver. OpenCL accelerates many scientific Software Packages against CPU up to factor 10 or 100 and more. OpenCL 1.0...