OpenCL

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 API
Original author(s)Apple Inc.
Developer(s)Khronos Group
Initial releaseAugust 28, 2009 (2009-08-28)
Stable release
3.0.15  / 14 December 2023 (14 December 2023)
Written inC with C++ bindings
Operating systemAndroid (vendor dependent), FreeBSD, Linux, macOS (via Pocl), Windows
PlatformARMv7, ARMv8, Cell, IA-32, Power, x86-64
TypeHeterogeneous computing API
LicenseOpenCL specification license
Websitewww.khronos.org/opencl/
OpenCL C/C++ and C++ for OpenCL
ParadigmImperative (procedural), structured, (C++ only) object-oriented, generic programming
FamilyC
Stable release
OpenCL C++ 1.0 revision V2.2–11

OpenCL C 3.0 revision V3.0.11

C++ for OpenCL 1.0 and 2021

/ December 20, 2021 (2021-12-20)
Typing disciplineStatic, weak, manifest, nominal
Implementation languageImplementation specific
Filename extensions.cl .clcpp
Websitewww.khronos.org/opencl
Major implementations
AMD, Gallium Compute, IBM, Intel NEO, Intel SDK, Texas Instruments, Nvidia, POCL, Arm
Influenced by
C99, CUDA, C++14, C++17

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.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.