aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2023-07-31 14:52:45 +0100
committerJohn Mcloughlin <john.mcloughlin@arm.com>2023-08-14 12:27:46 +0100
commit6a7434efa6379bee819ba493b11a4a87a30f37b0 (patch)
tree0d64b2fbccac2df9d3c1e2fbf1c6c1ad88b95f0f
parent3c6ce0a896302473daa6870abcc117c3a45e1361 (diff)
downloadarmnn-6a7434efa6379bee819ba493b11a4a87a30f37b0.tar.gz
Update Arm NN readme, build tool readme and Contributing md files
* Update Arm NN dev mailing list in CONTRIBUTING.md * Add new arch binaries in Readme.md * Update cxxopts version in Readme.md * Update Ubuntu version in build-tool/README.md Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Icc8a7651e1837d4e7b3b0a08cfe8c67f0d80d5ea
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--README.md37
-rw-r--r--build-tool/README.md55
3 files changed, 47 insertions, 47 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3b8d4b889e..7f6cf3372a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -62,4 +62,4 @@ Contributions to Arm NN go through testing at the Arm CI system. All unit, integ
## Communications
-We encourage all Arm NN developers to subscribe to the [Arm NN developer mailing list](https://lists.linaro.org/mailman/listinfo/armnn-dev).
+We encourage all Arm NN developers to subscribe to the [Arm NN developer mailing list](https://lists.linaro.org/mailman3/lists/armnn-dev.lists.linaro.org/).
diff --git a/README.md b/README.md
index 920d3d65a1..9a8cd9b18e 100644
--- a/README.md
+++ b/README.md
@@ -59,15 +59,16 @@ Arm NN from scratch is the ability to **exactly choose which components to build
## Pre-Built Binaries
-| Operating System | Architecture-specific Release Archive (Download) |
-|-----------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Android (AAR) | [![](https://img.shields.io/badge/download-android--aar-orange)](https://github.com/ARM-software/armnn/releases/download/v23.05/armnn_delegate_jni-23.05.aar) |
-| Android 10 "Q/Quince Tart" (API level 29) | [![](https://img.shields.io/badge/download-arm64--v8.2a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-29-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-29-arm64-v8a.tar.gz) |
-| Android 11 "R/Red Velvet Cake" (API level 30) | [![](https://img.shields.io/badge/download-arm64--v8.2a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-30-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-30-arm64-v8a.tar.gz) |
-| Android 12 "S/Snow Cone" (API level 31) | [![](https://img.shields.io/badge/download-arm64--v8.2a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-31-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-31-arm64-v8a.tar.gz) |
-| Android 13 "T/Tiramisu" (API level 32) | [![](https://img.shields.io/badge/download-arm64--v8.2a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-32-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-android-32-arm64-v8a.tar.gz) |
-| Linux | [![](https://img.shields.io/badge/download-aarch64-green)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-linux-aarch64.tar.gz) [![](https://img.shields.io/badge/download-x86__64-yellow)](https://github.com/ARM-software/armnn/releases/download/v23.05/ArmNN-linux-x86_64.tar.gz) |
+| Operating System | Architecture-specific Release Archive (Download) |
+|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Android (AAR) | [![](https://img.shields.io/badge/download-android--aar-orange)](https://github.com/ARM-software/armnn/releases/download/v23.08/armnn_delegate_jni-23.08.aar) |
+| Android 10 "Q/Quince Tart" (API level 29) | [![](https://img.shields.io/badge/download-arm64--v8.2-a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-29-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-29-arm64-v8a.tar.gz) |
+| Android 11 "R/Red Velvet Cake" (API level 30) | [![](https://img.shields.io/badge/download-arm64--v8.2-a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-30-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-30-arm64-v8a.tar.gz) |
+| Android 12 "S/Snow Cone" (API level 31) | [![](https://img.shields.io/badge/download-arm64--v8.2-a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-31-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-31-arm64-v8a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8.6-a-purple)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-31-arm64-v8.6-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8.6-a-sve-grey)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-31-arm64-v8.6-a-sve.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8.6-a-sve2-grey)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-31-arm64-v8.6-a-sve2.tar.gz) |
+| Android 13 "T/Tiramisu" (API level 32) | [![](https://img.shields.io/badge/download-arm64--v8.2-a-blue)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-32-arm64-v8.2-a.tar.gz) [![](https://img.shields.io/badge/download-arm64--v8a-red)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-android-32-arm64-v8a.tar.gz) |
+| Linux | [![](https://img.shields.io/badge/download-aarch64-green)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-linux-aarch64.tar.gz) [![](https://img.shields.io/badge/download-x86__64-yellow)](https://github.com/ARM-software/armnn/releases/download/v23.08/ArmNN-linux-x86_64.tar.gz) |
+**Note: Android 10 testing will be dropped from next release onwards.**
## Software Overview
The Arm NN SDK supports ML models in **TensorFlow Lite** (TF Lite) and **ONNX** formats.
@@ -92,8 +93,8 @@ Arm also provides an [Android-NN-Driver](https://github.com/ARM-software/android
hardware abstraction layer (HAL) for the Android NNAPI. When the Android NN Driver is integrated on an Android device,
ML models used in Android applications will automatically be accelerated by Arm NN.
-For more information about the Arm NN components, please refer to our
-[documentation](https://github.com/ARM-software/armnn/wiki/Documentation).
+**For more information about the Arm NN components, please refer to our
+[documentation](https://github.com/ARM-software/armnn/wiki/Documentation).**
Arm NN is a key component of the [machine learning platform](https://mlplatform.org/), which is part of the
[Linaro Machine Intelligence Initiative](https://www.linaro.org/news/linaro-announces-launch-of-machine-intelligence-initiative/).
@@ -153,14 +154,14 @@ If you find something that concerns you, please email terms@arm.com
Third party tools used by Arm NN:
| Tool | License (SPDX ID) | Description | Version | Provenience |
-|----------------|-------------------|------------------------------------------------------------------|-------------|--------------------------------------|
-| cxxopts | MIT | A lightweight C++ option parser library | SHA 12e496da3d486b87fa9df43edea65232ed852510 | https://github.com/jarro2783/cxxopts |
-| doctest | MIT | Header-only C++ testing framework | 2.4.6 | https://github.com/onqtam/doctest |
-| fmt | MIT | {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams. | 7.0.1 | https://github.com/fmtlib/fmt |
-| ghc | MIT | A header-only single-file std::filesystem compatible helper library | 1.3.2 | https://github.com/gulrak/filesystem |
-| half | MIT | IEEE 754 conformant 16-bit half-precision floating point library | 1.12.0 | http://half.sourceforge.net |
-| mapbox/variant | BSD | A header-only alternative to 'boost::variant' | 1.1.3 | https://github.com/mapbox/variant |
-| stb | MIT | Image loader, resize and writer | 2.16 | https://github.com/nothings/stb |
+|----------------|-------------------|------------------------------------------------------------------|---------|--------------------------------------|
+| cxxopts | MIT | A lightweight C++ option parser library | 3.1.1 | https://github.com/jarro2783/cxxopts |
+| doctest | MIT | Header-only C++ testing framework | 2.4.6 | https://github.com/onqtam/doctest |
+| fmt | MIT | {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams. | 8.30 | https://github.com/fmtlib/fmt |
+| ghc | MIT | A header-only single-file std::filesystem compatible helper library | 1.3.2 | https://github.com/gulrak/filesystem |
+| half | MIT | IEEE 754 conformant 16-bit half-precision floating point library | 1.12.0 | http://half.sourceforge.net |
+| mapbox/variant | BSD | A header-only alternative to 'boost::variant' | 1.1.3 | https://github.com/mapbox/variant |
+| stb | MIT | Image loader, resize and writer | 2.16 | https://github.com/nothings/stb |
## Build Flags
diff --git a/build-tool/README.md b/build-tool/README.md
index 55c2455c13..34063f7899 100644
--- a/build-tool/README.md
+++ b/build-tool/README.md
@@ -4,7 +4,7 @@ This tool replaces/supersedes the majority of the existing Arm NN build guides a
The main benefit of building Arm NN from scratch is the ability to **exactly choose which components to build, targeted for your ML project**.<br>
The Arm NN Build Tool is tested on **x86_64 (Intel) and aarch64 (Arm) build hosts** for the **Ubuntu** platform.
Other host platforms such as Windows and Mac **should** work (with Docker installed), but have not been officially tested.<br>
-At present, the tool supports **targeting Linux devices (from Ubuntu 18.04 onwards) on x86_64 and aarch64** architectures.<br>
+At present, the tool supports **targeting Linux devices (Ubuntu 20.04) on x86_64, aarch64 and android64** architectures.<br>
We recommend using the Arm NN Build Tool through the use of Docker. However, the scripts may be [executed directly on your machine](#build-arm-nn-without-docker) if desired.
**If you already have Docker installed** and want to quickly build the Arm NN Dockerfile with some default build arguments, please follow the [Docker Build Steps](#docker-build-steps).
@@ -90,11 +90,10 @@ the build included a cross compile (i.e. building aarch64 on x86_64). Repeated b
beyond 6GB. The ```docker images``` command shows the disk usage of each Docker Image. To view total disk space used by all
Docker Images and Docker Containers, use the command ```docker system df```.
-This Dockerfile was built on a **Ubuntu 18.04 host machine with Docker version 20.10.14**. We recommend using a host machine
-with at least Ubuntu 18.04 and a similar Docker version, if possible. Other Linux distros such as **Debian** should also work as
+This Dockerfile was built on a **Ubuntu 20.04 host machine with Docker version 20.10.14**. Other Linux distros such as **Debian** should also work as
long as the Docker version is similar to **20.10.14**.
-The build outputs from this Dockerfile have been tested on an **Odroid N2+ target device with Ubuntu 18.04** installed. The build outputs
+The build outputs from this Dockerfile have been tested on an **Odroid N2+ target device with Ubuntu 20.04** installed. The build outputs
should also work on newer versions of Ubuntu (and Debian) but this has not been exhaustively tested.
To view the system packages that are installed during ```docker build```, please refer to the ```install-packages.sh``` script.
@@ -102,7 +101,7 @@ To view the system packages that are installed during ```docker build```, please
<br>
## Install Docker
-Builds of the official Arm NN Dockerfile have been tested on the **Ubuntu 18.04** host platform.
+Builds of the official Arm NN Dockerfile have been tested on the **Ubuntu 20.04** host platform.
Whilst other platforms have not been tested, Docker should be able to build the Arm NN Dockerfile on other platforms such as Windows and Mac.
On **Linux**, we recommend using **Docker Engine** which is used through the command-line interface (CLI).
For **Windows and Mac** users, **Docker Desktop** is available which allows the use of the CLI plus a graphical interface.<br>
@@ -134,14 +133,14 @@ For ease of use (but longer initial docker build), use ```--all``` to have all A
Repeated docker builds with the same ```SETUP_ARGS``` will skip the setup process (using [caching](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache) of previous Docker build steps).
The ```SETUP_ARGS``` string should start and end with **double quotes** ```"```.
-| SETUP_ARGS | Description |
-|----------------------------|:--------------------------------------------------------------------------|
-| --tflite-classic-delegate | **flag:** setup dependencies for the existing Arm NN TF Lite Delegate |
-| --tflite-opaque-delegate | **flag:** setup dependencies for the new Arm NN Opaque Delegate |
-| --tflite-parser | **flag:** setup dependencies for the Arm NN TF Lite Parser |
-| --onnx-parser | **flag:** setup dependencies for the Arm NN ONNX parser |
-| --all | **flag:** setup dependencies for all Arm NN components listed above |
-| --target-arch= | **mandatory option:** specify a target architecture ```aarch64, x86_64``` |
+| SETUP_ARGS | Description |
+|----------------------------|:-------------------------------------------------------------------------------------|
+| --tflite-classic-delegate | **flag:** setup dependencies for the existing Arm NN TF Lite Delegate |
+| --tflite-opaque-delegate | **flag:** setup dependencies for the new Arm NN Opaque Delegate |
+| --tflite-parser | **flag:** setup dependencies for the Arm NN TF Lite Parser |
+| --onnx-parser | **flag:** setup dependencies for the Arm NN ONNX parser |
+| --all | **flag:** setup dependencies for all Arm NN components listed above |
+| --target-arch= | **mandatory option:** specify a target architecture ```aarch64, x86_64, android64``` |
**At least one component** (e.g. ```--tflite-classic-delegate```) must be provided **or** else provide ```--all``` to setup dependencies for all components.
@@ -158,20 +157,20 @@ Setup for aarch64 with the existing TF Lite Delegate and TF Lite Parser dependen
The following arguments are given to ```build-armnn.sh``` and define which components of Arm NN to include in the build.
The ```BUILD_ARGS``` string should start and end with **double quotes** ```"```.
-| BUILD_ARGS | Description |
-|---------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| --tflite-classic-delegate | **flag:** build the existing Arm NN TF Lite Delegate component |
-| --tflite-opaque-delegate | **flag:** build the new Arm NN Opaque Delegate |
-| --tflite-parser | **flag:** build the Arm NN TF Lite Parser component |
-| --onnx-parser | **flag:** build the Arm NN ONNX parser component |
-| --all | **flag:** build all Arm NN components listed above |
-| --target-arch= | **mandatory option:** specify a target architecture ```aarch64, x86_64``` |
-| --neon-backend | **flag:** build Arm NN with the NEON backend (CPU acceleration from ACL) |
-| --cl-backend | **flag:** build Arm NN with the OpenCL backend (GPU acceleration from ACL) |
-| --ref-backend | **flag:** build Arm NN with the reference backend<br/>**Should be used for verification purposes only.<br/>Does not provide any performance acceleration.** |
-| --debug | **flag:** build Arm NN (and ACL) with debug turned on (optional: defaults to off) |
-| --armnn-cmake-args= | **option:** provide additional comma-separated CMake arguments string for building Arm NN (optional)<br/>String should start and end with **single quotes** ```'```<br/>Please refer to **armnn/cmake/GlobalConfig.cmake** |
-| --acl-scons-params= | **option**: provide additional comma-separated scons parameters string for building ACL (optional)<br/>String should start and end with **single quotes** ```'```<br/>ACL provide [documentation](https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml#S1_1_build_options) for their build options |
+| BUILD_ARGS | Description |
+|---------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --tflite-classic-delegate | **flag:** build the existing Arm NN TF Lite Delegate component |
+| --tflite-opaque-delegate | **flag:** build the new Arm NN Opaque Delegate |
+| --tflite-parser | **flag:** build the Arm NN TF Lite Parser component |
+| --onnx-parser | **flag:** build the Arm NN ONNX parser component |
+| --all | **flag:** build all Arm NN components listed above |
+| --target-arch= | **mandatory option:** specify a target architecture ```aarch64, x86_64, android64``` |
+| --neon-backend | **flag:** build Arm NN with the NEON backend (CPU acceleration from ACL) |
+| --cl-backend | **flag:** build Arm NN with the OpenCL backend (GPU acceleration from ACL) |
+| --ref-backend | **flag:** build Arm NN with the reference backend<br/>**Should be used for verification purposes only.<br/>Does not provide any performance acceleration.** |
+| --debug | **flag:** build Arm NN (and ACL) with debug turned on (optional: defaults to off) |
+| --armnn-cmake-args= | **option:** provide additional comma-separated CMake arguments string for building Arm NN (optional)<br/>String should start and end with **single quotes** ```'```<br/>Please refer to **armnn/cmake/GlobalConfig.cmake** |
+| --acl-scons-params= | **option**: provide additional comma-separated scons parameters string for building ACL (optional)<br/>String should start and end with **single quotes** ```'```<br/>ACL provide [documentation](https://arm-software.github.io/ComputeLibrary/latest/how_to_build.xhtml#S1_1_build_options) for their build options |
**At least one component** (i.e. ```--tflite-classic-delegate```, ```--tflite-opaque-delegate```, ```--tflite-parser```, ```--onnx-parser```) must be provided or else provide ```--all``` to build all Arm NN components.<br>
@@ -345,7 +344,7 @@ docker build \
### Additional Docker Build Arguments
#### UBUNTU_VERSION
-The default base Image used during ```docker build``` is ```ubuntu:18.04```. Building Arm NN with this default image should be sufficient for a wide range of target devices.
+The default base Image used during ```docker build``` is ```ubuntu:20.04```. Building Arm NN with this default image should be sufficient for a wide range of target devices.
To use a different Ubuntu base Image, provide ```UBUNTU_VERSION``` during ```docker build``` e.g. ```--build-arg UBUNTU_VERSION=20.04```.
#### BUILD_TYPE