OpenCL

Some might say that OpenCL is a framework rather than a language, but we stand by the TIOBE Index selection. Through it, it’s possible to create programs that can be executed across many platforms consisting of CPUs, GPUs, DSPs, FPGAs, and other processors and accelerators. It provides a standard interface for parallel computing of accelerators found in cloud servers, mobile devices, embedded platforms, and more. 

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.