Arm NN is an inference engine for CPUs, GPUs, and NPUs. Arm NN bridges the gap between existing neural network frameworks and the underlying hardware IP. It enables efficient translation of existing neural network frameworks, such as TensorFlow and Caffe. This guide explains how to create Linux applications which load TensorFlow trained Neural Network models, run them on Arm Cortex-A CPUs and Mali GPUs, and profile application performance with Arm Streamline.

The HiKey 960 board with a HiSilicon Hi3660 SoC is a great development board with good performance and recent Arm IP. The board runs the latest Android Pie, and contains the Cortex-A73, Cortex-A53, and Mali-G71 IP. The HiKey 960 is fully supported by the Android Open Source Project (AOSP).

The HiKey 960 is also great for Linux development, but the details on how to install Linux are more difficult compared to Android. The information below explains one way to install Ubuntu Linux on the HiKey 960.

This guide shows you how to setup a HiKey 960 board with Linux, so that you can use it to run applications using Arm NN. This guide also shows you how to use Arm Streamline for ML application profiling. The process is:

  • Setup Linux on the HiKey 960 board.
  • Build the Arm NN software stack.
  • Build and run the example ML applications.
  • Use Streamline for performance analysis.