OpenCL
Sign in to saveAlso 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 sectionsContents
- 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.