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-A CPUs, Arm Mali GPUs and Arm Ethos NPUs.
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 Cortex-A CPUs, Arm Mali GPUs and Arm Ethos NPUs.
The latest release supports Caffe, TensorFlow, TensorFlow Lite, and ONNX. Arm NN takes networks from these frameworks, translates them to the internal Arm NN format and then, through the Compute Library, deploys 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 Arm Ethos-N NPUs.
Arm support for Android NNAPI gives >4x performance boost.
Download Arm NN for Android sources.
Arm NN performance relative to other NN frameworks
- Arm NN open-source collaboration enables optimal third-party implementations
- Deployed in multiple production devices (>250Mu)
Support for Cortex-M CPUs
Machine learning support for Cortex-M microcontrollers is provided by TensorFlow Lite Micro. Further optimization is available via CMSIS-NN, 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.Download CMSIS-NN
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.
|Suggested answer||Where to start with ARM Trust-zone development for Cortex-A series?||0 votes||310 views||2 replies||Latest 8 hours ago by br-dev||Answer this|
|Not answered||ARM way how to handle and generate own run time error, like try raise catch||0 votes||48 views||0 replies||Started 12 hours ago by Silicium||Answer this|
|Not answered||Why don't we see 8+ Cortex A77 cores in a cheap desktop device? Are there driver issues with Linux for such a device?||0 votes||55 views||0 replies||Started 20 hours ago by ProDigit||Answer this|
|Suggested answer||Exception Level Switch in ARMv8||0 votes||276 views||2 replies||Latest yesterday by 42Bastian Schick||Answer this|
|Suggested answer||Time measurements ARM v8 platform running Linux||0 votes||346 views||2 replies||Latest yesterday by 42Bastian Schick||Answer this|
|Suggested answer||Is it possible to implement global platform API on trusted firmware-m||0 votes||268 views||1 replies||Latest yesterday by fixxxer||Answer this|
|Suggested answer||Where to start with ARM Trust-zone development for Cortex-A series? Latest 8 hours ago by br-dev||2 replies 310 views|
|Not answered||ARM way how to handle and generate own run time error, like try raise catch Started 12 hours ago by Silicium||0 replies 48 views|
|Not answered||Why don't we see 8+ Cortex A77 cores in a cheap desktop device? Are there driver issues with Linux for such a device? Started 20 hours ago by ProDigit||0 replies 55 views|
|Suggested answer||Exception Level Switch in ARMv8 Latest yesterday by 42Bastian Schick||2 replies 276 views|
|Suggested answer||Time measurements ARM v8 platform running Linux Latest yesterday by 42Bastian Schick||2 replies 346 views|
|Suggested answer||Is it possible to implement global platform API on trusted firmware-m Latest yesterday by fixxxer||1 replies 268 views|