OpenCL Overview

OpenCL Overview

Main page content

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:

OpenCL-Guide 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

  • Intel(R) Graphics Compute Runtime for OpenCL is an open source project to converge Intel's development efforts on OpenCL compute stacks supporting the GEN graphics hardware architecture
  • AMD ROCm is an open source based solution that includes drivers and compilers with installation information. Note that for Windows-based platforms OpenCL support is shipped in the Adrenalin driver
  • TI OpenCL-DSP OpenCL 1.1 implementation for SoCs with C66x DSPs such as the AM572x
  • Portable Computing Language (POCL) is an implementation framework for OpenCL platforms with diverse device types. It utilizes upstream Clang/LLVM as a kernel compilation backbone. The POCL master branch currently supports various CPUs, open source TCE ASIPs , NVIDIA GPUs (via libcuda) among other devices in the same OpenCL context
  • Rusticl is an open source implementation of OpenCL 3.0 written in Rust that is part of the Mesa project

OpenCL Support on Devices

  • Details of what OpenCL features and extensions are supported on various devices can be found on gpuinfo.org

Sidebar Links and other content