Compute Library

A software library for computer vision and machine learning

The Compute Library is a collection of low-level functions optimized for ARM CPU and GPU architectures targeted at image processing, computer vision, and machine learning. It is available free of charge under a permissive MIT open source license.

About the Compute Library

The Compute Library contains a comprehensive collection of software functions implemented for the ARM Cortex-A family of CPU processors and the ARM Mali family of GPUs. It is a convenient repository of low-level optimized functions that developers can source individually or use as part of complex pipelines in order to accelerate their algorithms and applications.

The library’s collection of functions includes:

  • Basic arithmetic, mathematical, and binary operator functions
  • Color manipulation (conversion, channel extraction, and more)
  • Convolution filters (Sobel, Gaussian, and more)
  • Canny Edge, Harris corners, optical flow, and more
  • Pyramids (such as Laplacians)
  • HOG (Histogram of Oriented Gradients)
  • SVM (Support Vector Machines)
  • H/SGEMM (Half and Single precision General Matrix Multiply)
  • Convolutional Neural Networks building blocks (Activation, Convolution, Fully connected, Locally connected, Normalization, Pooling, Soft-max)
Performance improvement of Compute Library vs OpenCV, single-threaded, CPU (NEON), tested on HiSilicon Kirin 960.

Performance improvement of Compute Library vs OpenCV, single-threaded, CPU (NEON), tested on HiSilicon Kirin 960.

Performance and efficiency

When compared to existing open-source alternatives, the Compute Library provides a much more comprehensive set of functions as well as superior performance – out of the box.

It is a useful tool that can significantly reduce cost and effort for developers targeting image processing, computer vision and machine learning applications – enabling them to focus on differentiation, and reduce their products' time-to-market.

The Compute library is mature and tested, has already been utilized by several embedded, consumer and mobile silicon vendors and OEMs to improve their products, as well as a many ISVs across the globe. Common use-cases include 360-degree camera panoramic stitching, computational camera, virtual and augmented reality, segmentation of images, feature detection and extraction, image processing, tracking, stereo and depth calculation, and many machine learning based algorithms.

The library is operating-system agnostic and has been deployed on a broad variety of modern Linux and Android ARM-based system-on-chip platforms.