OpenCL Resource Guide
OpenCL™ is being actively evolved to meet the growing demands for the use of parallel processing to deliver higher levels of compute performance. The OpenCL Working Group at Khronos regularly extends OpenCL for enhanced functionality and flexibility, as well as increasing the quality and diversity of tools, libraries, and language compilers.
This Resource Guide is curated by the OpenCL Working Group to assist computing specialists, developers and researchers of all skill levels find documentation and tools to start effectively harnessing the power of OpenCL. The OpenCL Working Group will continuously evolve the guide and welcomes any feedback on how it can be improved via GitHub.
Khronos also hosts an OpenCL Community Resource Page where anyone can submit links to OpenCL resources with a pull request on GitHub! or by emailing the webmaster at khronos.org.
Khronos OpenCL Resources
OpenCL Kernel Languages
OpenCL Kernel Language and SPIR-V Tools
List of individual tools supporting OpenCL and SPIR-V:
This blog contains a detailed description of how to compile OpenCL kernels offline into SPIR-V using the available open source tools.
OpenCL Development Tools
Commercial OpenCL SDKs and Tools
- Intel SDK for OpenCL Applications is a development platform for OpenCL: Maximize performance; Optimize tasks for the best available compute engine; Tap into an easy-to-use development environment
- Intel FPGA SDK for OpenCL is a world class development environment that enables software developers to accelerate their applications by targeting heterogeneous platforms with Intel CPUs and FPGAs
- NVIDIA OpenCL SDK supports a variety of GPU-accelerated libraries and high-level programming solutions that enable developers to get started quickly with GPU Computing
- Arm Mali GPU OpenCL driver and compiler as well as libraries to accelerate machine learning and neural network inferencing applications using OpenCL
- Radeon GPU Profiler for profiling OpenCL code on AMD GPUs
Open Source OpenCL Implementations
OpenCL Support on Android Devices