Home : Technical Terms : OpenCL Definition

OpenCL

Stands for "Open Computing Language." OpenCL is an open standard for cross-platform, parallel programming. It was originally developed by Apple in 2008 and is now maintained by the Khronos Group. The first major operating system to support OpenCL was Snow Leopard (Mac OS X 10.6), which was released in 2009.

OpenCL provides an API that allows software programs to access multiple processors simultaneously to perform parallel processing. Examples include CPUs, GPUs, digital signal processors (DSPs), and field-programmable gate arrays (FPGAs). By distributing the computing load across multiple processors, OpenCL increases processing efficiency and can substantially improve a program's performance.

While OpenCL supports many different types of processors, it is most notably used to access the GPU for general computing tasks. This technique, also called GPGPU, takes advantage of the GPU's processing power and allows it to assist the CPU in completing calculations. Before OpenCL, the graphics processor would often remain idle while the CPU was running at full capacity. OpenCL enables the GPU to assist the CPU in processing non-graphics-related computations.

In order to take advantage of OpenCL, both the hardware and software must support the OpenCL API. Because of the performance advantage OpenCL provides, most video cards developed by NVIDIA and AMD now support OpenCL. Many mobile graphics processors, such as those used in smartphones and tablets, support OpenCL as well.

Updated: June 26, 2015

Cite this definition:

https://techterms.com/definition/opencl

TechTerms - The Tech Terms Computer Dictionary

This page contains a technical definiton of OpenCL. It explains in computing terminology what OpenCL means and is one of many technical terms in the TechTerms dictionary.

All definitions on the TechTerms website are written to be technically accurate but also easy to understand. If you find this OpenCL definition to be helpful, you can reference it using the citation links above. If you think a term should be updated or added to the TechTerms dictionary, please email TechTerms!