Software for machine learning on Arm

There are many ways to deploy neural networks on mobile and embedded platforms, from a full framework to low-level primitives that enable you to implement your architecture directly. Get started quickly and easily on Arm hardware.

Arm NN

Arm's inference engine, designed to run networks trained on popular frameworks – such as TensorFlow and Caffe – optimally on Arm IP.

Learn more

Compute Library

Arm's optimized low-level functions for computer vision and machine learning, focusing on CNNs for 32-bit float and 8-bit integer across a wide array of Arm CPUs and GPUs.

Learn more

CMSIS-NN

Arm's library of efficient neural network kernels for Arm Cortex-M CPUs.


Learn more

Frameworks supported by Arm

Arm supports a wide array of machine learning frameworks. If you have requirements that are not yet supported by our fully optimized stack, you can choose from a range of frameworks and libraries.

TensorFlow

Type: Framework

Google framework with optimized 32-bit and 8-bit NEON routines for Arm CPUs.
Includes an OpenCL backend supporting Arm Mali GPU via SYCL.

TensorFlow Arm setup guide

Learn more

PyTorch

Type: Framework

Facebook framework with optimized routines for Arm CPUs with Neon.



Learn more

MxNet

Type: Framework

Apache framework with optimized routines for Arm CPUs.
Open AI version optimized with the Arm Compute Library for CPUs and GPUs.

MxNet GitHub

Learn more

Microsoft Cognitive Toolkit (CNTK)

Type: Framework

Microsoft framework with optimized routines for Arm CPUs with Neon.



Learn more

Caffe

Type: Framework

Berkley Vision and Learning Centre framework with several options for running on Arm.
CaffeOnACL is a version optimized with the Arm Compute Library for CPUs and GPUs.

CaffeOnACL GitHub

Learn more

Caffe2

Type: Framework

Facebook framework with optimized routines for Arm CPUs with Neon.




Learn more

Keras

Type: API

A high-level neural networks API, written in Python and capable of running on top of several framework backends including TensorFlow and CNTK.

Learn more

PlaidML

Type: Keras backend

Vertex.ai OpenCL framework compatible with Keras API with support for Arm Mali GPU.

Learn more

Arm libraries and SDKs

Arm provides software products to maximize your machine learning applications' performance and minimize time-to-market.

Keil MDK

Arm Development Studio gives you a core set of tools for efficient and reliable application development.

Learn more

DSP extensions for Arm

DSP extensions for Cortex-M

Cortex-M processors with DSP provide a high level of signal processing and integer performance, while maintaining the energy-efficiency and ease-of-use hallmarks of the Cortex-M family.

Learn more

DSP extensions for Cortex-R

This instruction set for Cortex-R processors includes enhanced DSP instructions that improve execution performance for arithmetic operations.

Learn more

Architecture

DynamIQ

DynamIQ technology redefines the multi-core microarchitecture for the industry and is the foundation for future Arm Cortex-A processors.

Learn more

Neon

Arm Neon technology is an advanced SIMD architecture that is great for many applications such as image processing, computer vision, and machine learning.

Learn more

Scalable Vector Extension (SVE)

SVE is the next-generation SIMD instruction set for the Arm architecture.

Learn more

Helium

Arm Helium Technology is the M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series. Helium is an extension of the Armv8.1-M architecture and delivers a significant performance uplift for machine learning and digital signal processing applications for small, embedded devices.

Learn more

Tools

Compilers

Making your C/C++ code run efficiently on Arm processors has been our mission for over 25 years.


Learn more

CMSIS-NN

Arm's library of efficient neural network kernels for Arm Cortex-M CPUs.


Learn more

DS-5 Development Studio

DS-5 Development Studio. DS-5 gives you a core set of tools for efficient and reliable application development.

Learn more

Arm Development Studio

Designed specifically for Arm architecture, Development Studio is the most comprehensive embedded C/C++ dedicated software development solution on the market.

Learn more

Training

Arm training is written and delivered by the world's most experienced Arm technology trainers.

Arm Helium Technology - Digital Signal Processing with Cortex-M

Learn more about Arm Helium Technology - the M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series. This training will demonstrate how to optimize code by using the extensions.

Learn more

Machine learning using Arm

This training covers essential information on Arm’s IP solutions for optimizing machine learning applications for Arm hardware.


Learn more

Is your preferred framework or library missing from this list? Email ml@arm.com and let us know.