Arm NN

Software developer kit

Arm NN is an inference engine for CPUs, GPUs and NPUs. It bridges the gap between existing NN frameworks and the underlying IP. It enables efficient translation of existing neural network frameworks, such as TensorFlow and Caffe, allowing them to run efficiently – without modification – across Arm Cortex CPUs and Arm Mali GPUs.

Arm NN is free of charge.

About Arm NN SDK

Arm NN SDK is a set of open-source Linux software and tools that enables machine learning workloads on power-efficient devices. It provides a bridge between existing neural network frameworks and power-efficient Arm Cortex CPUs, Arm Mali GPUs or the Arm Machine Learning processor.

Arm NN SDK utilizes the Compute Library to target programmable cores, such as Cortex-A CPUs and Mali GPUs, as efficiently as possible. It includes support for the Arm Machine Learning processor and, via CMSIS-NN, support for Cortex-M CPUs.

The first release will support Caffe, with TensorFlow arriving soon after, and other neural network frameworks added subsequently. Arm NN will take networks from these frameworks, translate them to the internal Arm NN format and then, through the Compute Library, deploy them efficiently on Cortex-A CPUs – and, if present, Mali GPUs such as the Mali-G71 and Mali-G72.

 

Arm NN for Android

Also available is Arm NN for NNAPI, Google’s interface for accelerating neural networks on Android devices, made available in Android O. By default, NNAPI runs neural network workloads on the device’s CPU cores, but also provides a Hardware Abstraction Layer (HAL) that can target other processor types, such as GPUs. Arm NN for Android NNAPI provides this HAL for Mali GPUs. A further release adds support for the Arm Machine Learning processor. 

Arm support for Android NNAPI gives >4x performance boost.

Learn more

Download Arm NN for Android sources. 

Download here

Arm NN for CMSIS-NN

CMSIS-NN provides optimized low-level NN functions for Cortex-M CPUs: a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.


Arm NN future roadmap

Future releases of Arm NN will enable support for other machine learning frameworks as inputs, and other forms of processor cores as targets. This includes processor cores and accelerators from Arm’s partners, assuming availability of suitable extensions.

Webinar - Project Trillium: Optimizing ML Performance for any Application

Project Trillium is a suite of Arm IP designed to deliver scalable ML and neural network functionality at any point on the performance curve, from sensors, to mobile, and beyond. 

 

Find out more

Community Forums

Suggested answer Store operations where the cache line is already cached (ACE protocol)
  • AMBA 4
1 votes 100 views 1 replies Latest 3 days ago by a.surati Answer this
Answered Whether Armv7-A has a Write Buffer 0 votes 474 views 8 replies Latest 4 days ago by Yang Wang Answer this
Suggested answer Why AXI4 changed the definition of AxCACHE?
  • AXI4
0 votes 145 views 1 replies Latest 5 days ago by Colin Campbell Answer this
Suggested answer AXI read response in error case 0 votes 152 views 1 replies Latest 5 days ago by Colin Campbell Answer this
Answered dsb and dmb 0 votes 1102 views 11 replies Latest 6 days ago by digital_kevin Answer this
Suggested answer DWT 0 votes 138 views 1 replies Latest 7 days ago by Joseph Yiu Answer this
Suggested answer Store operations where the cache line is already cached (ACE protocol) Latest 3 days ago by a.surati 1 replies 100 views
Answered Whether Armv7-A has a Write Buffer Latest 4 days ago by Yang Wang 8 replies 474 views
Suggested answer Why AXI4 changed the definition of AxCACHE? Latest 5 days ago by Colin Campbell 1 replies 145 views
Suggested answer AXI read response in error case Latest 5 days ago by Colin Campbell 1 replies 152 views
Answered dsb and dmb Latest 6 days ago by digital_kevin 11 replies 1102 views
Suggested answer DWT Latest 7 days ago by Joseph Yiu 1 replies 138 views