Summary
New Features
- Add Arm NN Support Library.
- The Arm NN Support Library for Android NNAPI is a shared library which has all the functionalities of existing HAL drivers for Android NNAPI.
- It is available from Android S.
- It focuses on update-ability of ML operators.
- Guiide on how to build Arm NN Support Library is available armnn/shim/BuildGuideShimSupportLibrary.md.
- SLTS (Support Library Test Suit) compliance.
- Support for Batch MatMul in CpuRef.
TfLite Parser
- Added support for LOG.
- Added support for SIN.
ExecuteNetwork App Changes:
- Refactor of ExecuteNetwork. Now input name, input type, output name, output type and model type are read from the model.
Arm NN Build Tool:
- Introduced Arm NN Build Tool which consists of an official Arm NN Dockerfile for building Arm NN and Arm Compute Library (ACL).
- This tool replaces the majority of our existing build guides as a user-friendly way to build Arm NN (and its dependencies) from scratch.
- Tested on x86_64 (Intel) and aarch64 (Arm) build hosts for the Ubuntu platform.
- Currently supports targeting Linux devices (from Ubuntu 18.04 onwards) on x86_64, aarch32 and aarch64 architectures.
Bug Fixes
- The models in format .armnn (serialized models) were failing in 22.05, this problem has been solved by adding the constant layers before the operator layers.
- Neon fold padding into average pool 2D quantization bug fix.
- Fix segmentation fault when running --bf16-turbo-mode on FPGA.
Other Changes
- General documentation refactor and updates.
- Added LICENSE.spdx for Arm NN
- Delay backend deprecation from 22.11 to 23.08
ABI/API Changes
The following front-end API changes have occurred during the implementation of 22.08 that users should be aware of before upgrading.
.
Feature | SHA | Gerrit Review | Resultant ABI/API changes | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Import inputs but don't export outputs fails | 626bd90 | https://review.mlplatform.org/c/ml/armnn/+/7661 | Field m_ExportEnabled has been added to type OptimizerOptions. This field will not be initialized by old clients that have not been recompiled. | ||||||||||||
Get non-const IConnectableLayer from I/O slots | 09fa24d | https://review.mlplatform.org/c/ml/armnn/+/7835 | Pure virtual method GetOwningIConnectableLayer ( ) has been added to classes IOutputSlot and IInputSlot. Remove deprecated code 22.05
| 4d2eec0
| https://review.mlplatform.org/c/ml/armnn/+/7712
| Removed Symbols: | Modified SubgraphView returned by GetWorkingCopy()
| cea3d49
| https://review.mlplatform.org/c/ml/armnn/+/7852
| Pure virtual method GetSlotIndex ( ) const has been added to class IInputSlot. | Update the async api to use ExecutionData
| 21a6a1a
| https://review.mlplatform.org/c/ml/armnn/+/7878
| experimental::IWorkingMemHandle Pure virtual method GetExecutionDataAt ( unsigned int ) has been added to this class. | |
The following back-end API changes have occurred during the implementation of 22.08 that users should be aware of before upgrading.
Feature | SHA | Gerrit Review | Resultant ABI/API changes | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Update the async api to use ExecutionData | 21a6a1a | https://review.mlplatform.org/c/ml/armnn/+/8051/2 | The following virtual functions have been added to class IBackendInternal: Add GetMemoryRequirements to IWorkload
| 5e09080
| https://review.mlplatform.org/c/ml/armnn/+/7886
| The following virtual function has been added to class IWorkload: | Modified SubgraphView returned by GetWorkingCopy()
| cea3d49
| https://review.mlplatform.org/c/ml/armnn/+/7852
| The signature of SubgraphView::GetWorkingCopy() has changed, it has now been marked as const to reflect the fact that the graph represented by the working copy does not get altered.
| |
TfLite Delegate
New features
- Added support for LOG
- Added support for SIN
- Add JNI interface
Bug Fixes
- Fix running MobileBERT on CpuRef
- Only use the macro ARMNN_TFLITE_DELEGATE
- DelegateQuickStartGuide.md errors fix
PyArmNN
- Documentation update running PyArm NN with ONNX parser.
Build Dependencies
Tools | Supported Version |
---|---|
Git | 2.17.1 or later |
SCons | 2.4.1 (Ubuntu) 2.5.1 (Debian) |
Cmake | 3.19.0 |
Tensorflow | 2.5.0 |
Onnx | 1.6.0 |
Flatbuffer | 1.12.0 |
Protobuf | 3.12.0 |
Android NDK | r20b |
mapbox/variant | 1.2.0 |
cxxopts | SHA 12e496da3d486b87fa9df43edea65232ed852510 |
doctest | 2.4.6 |
fmt | 7.0.1 |
ghc | 1.3.2 |
half | 1.12.0 |
stb | 2.16 |