OpenCL is stands for Open Computing Language. It is a framework for writting programs that executes across heterogeneous platforms, consisting of central processing units, graphics processing units, digital signal processors, and other processors or hardware accelerators. It defines a C type language for writing programs.
Functions executed on an OpenCL device are called kernels. In addition to its C-like programming language, OpenCL defines an application programming interface (API) that allows programs running on the host to launch kernels on the compute devices and manage device memory.
Programs in the OpenCL language are intended to be compiled at run-time, so that OpenCL-using applications are portable between implementations for various host devices. OpenCL standard defines host APIs for C and C++, third-party APIs exist for other programming languages and platforms such as Python, Java and .NET.