Skip to content
OpenCL
EntityQ681360· pop 28· linked from 524 articles

Also known as Open Computing Language

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 a programming language (based on C99) 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

Key facts

Software.name
OpenCL API
Software.title
OpenCL API
Software.logo
OpenCL logo.svg
Software.logo size
200px
Software.logo alt
OpenCL logo
Software.author
Apple Inc.
Software.developer
Khronos Group
Software.programming language
C with C++ bindings
Software.operating system
Android (vendor dependent), FreeBSD, Linux, macOS (via Pocl), Windows
Software.platform
ARMv7, ARMv8, Cell, IA-32, Power, x86-64
Software.genre
Heterogeneous computing API
Software.license
OpenCL specification license
Programming language.name
C++ for OpenCL
Programming language.paradigm
Imperative (procedural), structured, object-oriented, generic programming
Programming language.latest release version
C++ for OpenCL 1.0 and 2021
Programming language.file_ext
.clcpp
Programming language.implementations
SPIR-V offline mode: Clang; cl_ext_cxx_for_opencl online mode: Arm.
Programming language.influenced_by
C99, CUDA

via Wikipedia infobox

Wikidata facts

Official website
www.khronos.org/opencl
Image
Clinfo screenshot.png
Show 4 more facts
inception
2009-08-28
software version identifier
3.0.19
Commons category
OpenCL
media type
text/x-opencl-src
Sources (8)

via Wikidata · CC0

~50 min read

Article

39 sections
Contents
  • Overview
  • Memory hierarchy
  • OpenCL kernel language
  • OpenCL C language
  • Example: matrix–vector multiplication
  • Example: computing the FFT
  • OpenCL C++ language
  • C++ for OpenCL language
  • Features
  • Example: complex-number arithmetic
  • Tooling and execution environment
  • Contributions
  • History
  • OpenCL 1.0
  • OpenCL 1.1
  • OpenCL 1.2
  • OpenCL 2.0
  • OpenCL 2.1
  • OpenCL 2.2
  • OpenCL 3.0
  • Roadmap
  • Open source implementations
  • Vendor implementations
  • Timeline of vendor implementations
  • Devices
  • Khronos Conformance Test Suite
  • Conformant products
  • Version support
  • OpenCL 3.0 support
  • OpenCL 2.2 support
  • OpenCL 2.1 support
  • OpenCL 2.0 support
  • OpenCL 1.2 support
  • OpenCL 1.1 support
  • OpenCL 1.0 support
  • Portability, performance and alternatives
  • See also
  • References
  • External links

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 a programming language (based on C99) 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 Khronos Group, a non-profit, open standards organisation. Conformant implementations (passed the Conformance Test Suite) are available from a range of companies including AMD, Arm, Cadence, Google, Imagination, Intel, Nvidia, Qualcomm, Samsung, SPI and Verisilicon.

Gallery (3)

Connections

Categories