OpenCL Logo


OpenCL™ (Open Computing Language) is the open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms. OpenCL greatly improves the speed and responsiveness of a wide spectrum of applications in numerous market categories including gaming and entertainment titles, scientific and medical software, professional creative tools, vision processing, and neural network training and inferencing.

See more at - Khronos Website OpenCL Overview

Arm and OpenCL

Arm Mali GPUs support OpenCL 1.2 (Midgard architecture), OpenCL 2.0 (Bifrost architecture), and OpenCL 2.1 (Valhall architecture). SPIR-V is also supported by Mali GPUs.

Drivers are available from Arm for a number of development boards on the Arm Mali Drivers page.

The Compute Library provides a number of OpenCL kernels optimised for Mali GPUs as well as a runtime that can be integrated in third-party applications.

A few helpful links for developers:

Arm Guide to OpenCL Programming

Arm Guide to OpenCL Programming

The Developer Guide for OpenCL development on Mali GPUs includes information on general OpenCL development as well as special considerations when developing on Mali GPUs to achieve good performance and improve power efficiency.

OpenCL Guide for Midgard

OpenCL Guide for Bifrost and Valhall

OpenCL Tutorials

Tutorials including:

  • Arm Guide to OpenCL
  • Real-time Dense Passive Stereo Vision
  • OpenCL for Arm Mali GPUs FAQ Whitepaper
  • OpenCL Implementing JPEG
  • OpenCL Optimizing Convolution
  • Optimizing Canny Edge Detection
  • OpenCL Optimizing Pyramid

OpenCL Tutorials