Everything about OpenCL
Open standard for programming heterogenous computing systems, such as CPUs or GPUs
OpenCL 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 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. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: OpenCLA 5-minute orientation
- Skim a recent paper: A parallel Canny edge detection algorithm based on OpenCL accelerationInfluential work since 2022
- Pick up a classic book: Heterogeneous computing with OpenCLThe most-reprinted book on the subject
- Read the landmark paper: OpenCL: A Parallel Programming Standard for Heterogeneous Computing SystemsCited 1,086 times
- Go sideways: ROCmA closely related topic
- Go sideways: SYCLA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems
From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming
Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL
pocl: A Performance-Portable OpenCL Implementation
AQUAgpusph, a new free 3D SPH solver accelerated with OpenCL
Efficient FPGA Implementation of OpenCL High-Performance Computing Applications via High-Level Synthesis
OpenCL implementation of a high performance 3D Peridynamic model on graphics accelerators
OpenCL-Based FPGA-Platform for Stencil Computation and Its Optimization Methodology
🆕 Influential since 2022
A parallel Canny edge detection algorithm based on OpenCL acceleration
An OpenCL-Based FPGA Accelerator for Faster R-CNN
In-depth FPGA accelerator performance evaluation with single node benchmarks from the HPC challenge benchmark suite for Intel and Xilinx FPGAs using OpenCL
Real-time and accurate monocular 3D sensor using the reference plane calibration and an optimized SGM based on opencl acceleration
RPkNN: An OpenCL-Based FPGA Implementation of the Dimensionality-Reduced kNN Algorithm Using Random Projection
📚 Books worth reading
Heterogeneous computing with OpenCLBenedict Gaster · 2011- 📕OpenCL Programming by ExampleRavishekhar Banger, Koushik Bhattacharyya · 2013
OpenCL programming guideAaftab Munshi · 2012
OpenCL Parallel Programming Development CookbookRaymond Tay · 2013- 📕Heterogeneous computing with OpenCL 2.0David R. Kaeli · 2015
OpenCL in actionMatthew Scarpino · 2012
Using OpenCLJanusz S. Kowalik · 2012
Heterogeneous Computing with OpenCL: Revised OpenCL 1.2 EditionBenedict Gaster, Lee Howes · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- ROCm ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains, including general-purpose…
- SYCL SYCL (pronounced "sickle") is a higher-level programming model to improve programming productivity on various hardware accelerators. It is a single-source…
- CUDA CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) developed by Nvidia…
- Vulkan Vulkan is a cross-platform API and open standard for 3D graphics and parallelized computing. It was intended to address the shortcomings of OpenGL, and…
- AMD FireStream AMD FireStream was AMD's brand name for their Radeon-based product line targeting stream processing and/or GPGPU in supercomputers. Originally developed…
- OneAPI (compute acceleration) oneAPI is an open standard, adopted by Intel, for a unified application programming interface (API) intended to be used across different computing accelerator…
- GPUOpen GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games.…
- OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The…