Releases: ARM-software/android-nn-driver
Release 20.02
Deprecated features:
New Features:
Other Changes:
- Fixed issue where certain exceptions were left uncaught leading to driver crash.
Known Issues:
- The CTS test "TestRandomGraph/RandomGraphTest#LargeGraph_TENSOR_FLOAT16_Rank3/41" is currently failing on CpuRef.
The failure is being caused by an unfortunate combination of a LogSoftmax layer followed by a Floor layer blowing up the slight difference between fp16 to fp32.
Google have been informed about this and in the meantime our in house version of CTS will ignore this test.
v19.11.1
ArmNN 19.11.1 Release Notes
This is an incremental release of ArmNN 19.11 to fix CTS issues.
Android NNAPI driver
Deprecated features:
New Features:
Other changes:
All errors and crashes occurring on the 19.11 release when running the Android Compliance Test Suite (CTS) R2* on Android 10 (Android Q) have been fixed, applying all fixes applied to 19.08.01 that were not yet in 19.11.
This addresses all known issues listed in ArmNN 19.11 Release Notes.
- Driver termination during TestRandomGraph when using GPU acceleration (ie. ARMNN_COMPUTE_CL_ENABLE:=1)
- Some TestRandomGraph/RandomGraphTest tests which include CONCATENATION and L2_POOLING_2D operators.
- Some TestRandomGraph/RandomGraphTest tests which include operators taking the optional data layout argument if the argument is present and set to NCHW.
- Some TestRandomGraph/RandomGraphTest tests which include operators using FLOAT16 input.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE_BILINEAR operators.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE operators.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE_NEAREST_NEIGHBOR operators.
- Some TestRandomGraph/RandomGraphTest tests which include SPACE_TO_DEPTH operators.
- Some TestRandomGraph/RandomGraphTest tests when using GPU tests which include ABS RSQRT and SQRT (unary element wise operators).
- Some TestRandomGraph/SingleOperationTest#PAD_V1_1 tests when using CPU.
*Notice the CTS R2 we used includes the following fixes: https://android-review.googlesource.com/q/project:platform%252Fframeworks%252Fml+branch:android10-tests-dev+status:merged
Backend API Changes:
Known Issues:
v19.08.1
ArmNN 19.08.01 Release Notes
This is an incremental release of ArmNN 19.08 to fix CTS issues.
Android NNAPI driver
Deprecated features:
New Features:
Other changes:
All errors and crashes occurring on the 19.08 release when running the Android Compliance Test Suite (CTS) R2 on Android 10 (Android Q) have been fixed, including:
- Driver termination during TestRandomGraph when using GPU acceleration (ie. ARMNN_COMPUTE_CL_ENABLE:=1)
- Some TestRandomGraph/RandomGraphTest tests which include CONCATENATION and L2_POOLING_2D operators.
- Some TestRandomGraph/RandomGraphTest tests which include operators taking the optional data layout argument if the argument is present and set to NCHW.
- Some TestRandomGraph/RandomGraphTest tests which include operators using FLOAT16 input.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE_BILINEAR operators.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE operators.
- Some TestRandomGraph/RandomGraphTest tests which include RESIZE_NEAREST_NEIGHBOR operators.
- Some TestRandomGraph/RandomGraphTest tests which include SPACE_TO_DEPTH operators.
- TestRandomGraph/SingleOperationTest#ADD_V1_0/31
- TestRandomGraph/SingleOperationTest#MUL_V1_0/31
- TestRandomGraph/SingleOperationTest#SUB_V1_2/31
- TestRandomGraph/SingleOperationTest#STRIDED_SLICE_V1_2/17
- TestRandomGraph/SingleOperationTest#PRELU_V1_2/14
- Several other errors occurring in Activations when debug.nn.partition is set to 2
Backend API Changes:
Known Issues:
Release 19.11
New Features:
- Added ABS support - HAL 1.2
- Added ARGMAX and ARGMIN support - HAL 1.2
- Added EXPAND_DIMS support - HAL 1.2
- Added SQRT support – HAL 1.2
- Added RSQRT support – HAL 1.2
- Added GROUPED_CONV_2D support – HAL 1.2
- Added INSTANCE_NORMALIZATION support - HAL 1.2
- Added LOG_SOFTMAX support - HAL 1.2
- Added DEPTH_TO_SPACE support - HAL 1.2
- Added support for comparison operations EQUAL, GREATER, GREATER_EQUAL, LESS, LESS_EQUAL and NOT_EQUAL - HAL 1.2
- Added support per-channel quantization for CONV_2D, GROUPED_CONV_2D, DEPTHWISE_CONV_2D and TRANSPOSE_CONV_2D - HAL 1.2
- Added FLOAT16 support for CONCATENATION, DEPTH_TO_SPACE, EXPAND_DIMS, PAD, PAD_V2, RESHAPE, SPACE_TO_DEPTH, SQUEEZE
Other changes:
- CTS bug fix: crash in CONCATENATION layer and in DEPTHWISE_CONV_2D.
- Fixed FP16 to FP32 fallback mechanism in optimizer to work with DEQUANTIZE.
Known Issues:
-
There is a known issue in the Android NNAPI implementation of Instance Normalization that will be fixed in a later revision of Android Q.
-
The Armnn implementation will produce VTS and CTS Instance Normalization test failures with versions of Android Q that do not have that fix.
-
When running the Android 10 R2 Compatibility Test Suite with the HAL 1.2 ArmNN Driver there are known test failures which include:
-
Driver termination during TestRandomGraph when using GPU acceleration (ie. ARMNN_COMPUTE_CL_ENABLE:=1)
-
Some TestRandomGraph/RandomGraphTest tests.
-
TestRandomGraph/SingleOperationTest#PAD_V1_1/19
-
TestRandomGraph/SingleOperationTest#PAD_V1_1/23
-
TestRandomGraph/SingleOperationTest#PAD_V1_1/26
-
TestRandomGraph/SingleOperationTest#PAD_V2_V1_2/16
-
TestRandomGraph/SingleOperationTest#PAD_V2_V1_2/26
-
TestRandomGraph/SingleOperationTest#PAD_V2_V1_2/34
-
TestRandomGraph/SingleOperationTest#PAD_V2_V1_2/36
-
-
Work is ongoing at high priority to mitigate these failures. A new release will be made when these issues are fixed.
Release 19.08
New Features:
- Dequantize now supported on HAL 1.0 and 1.1 on Android O and P
- Added dilation support for Convolution2d and DepthwiseConvolution2d – HAL 1.2
- Added PAD_V2 support – HAL 1.2
- Added PReLU support – HAL 1.2
- Added Quantize support – HAL 1.2
- Added Maximum support – HAL 1.2
- Added Minimum support – HAL 1.2
- Added axis support for Softmax for 2D and axis = 1 – HAL 1.2
- Added LSTM with normalization support - HAL 1.2
- Added TRANSPOSE_CONV_2D support – HAL 1.2
Other changes:
- Fixed bug in the operation parsing: if one of the inputs needed broadcasting, the order of the inputs wasn't preserved.
Public API Changes:
Backend API Changes:
- Added notes in the README file to describe how to specify the paths where to load the dynamic backends from.
Known Issues:
-
On some devices a large memory accumulation has been observed in the Mali Driver on Android after running multiple models.
-
When running the Android 10 R2 Compatibility Test Suite with the HAL 1.2 ArmNN Driver there are known test failures which include:
-
Driver termination during TestRandomGraph when using GPU acceleration (ie. ARMNN_COMPUTE_CL_ENABLE:=1)
-
Some TestRandomGraph/RandomGraphTest tests which include CONCATENATION and L2_POOLING_2D operators.
-
Some TestRandomGraph/RandomGraphTest tests which include operators taking the optional data layout argument if the argument is present and set to NCHW.
-
Some TestRandomGraph/RandomGraphTest tests which include operators using FLOAT16 input.
-
TestRandomGraph/SingleOperationTest#ADD_V1_0/31
-
TestRandomGraph/SingleOperationTest#MUL_V1_0/31
-
TestRandomGraph/SingleOperationTest#SUB_V1_2/31
-
TestRandomGraph/SingleOperationTest#STRIDED_SLICE_V1_2/17
-
TestRandomGraph/SingleOperationTest#PRELU_V1_2/14
-
-
Work is ongoing at high priority to mitigate these failures. Some fixes have already been applied to the 19.08 branches of android-nn-driver, armnn, and ComputeLibrary. A new release will be made when these issues are fixed.
Release 19.05
Deprecated features:
- This release does not support Android 8.1 (Oreo MR1)
New Features:
- HAL 1.0, HAL 1.1 Support in Andoid Q. Tested with android-q-preview-2.5 tag.
- Added support for multiple backends to the driver through ArmNN fallback mechanism
Known Issues:
- PAD V2 is not supported. The feature to support PAD V2 with specified value for padding input will be added in a future release.
- SOFTMAX is currently supported over the second dimension. The feature to support SOFTMAX over other dimension will be added in a future release.
- HardwareBuffer tests are failing on HAL 1.0 and HAL 1.1 Android Q due to GraphicBufferAllocator error.
Release 19.02
Deprecated features:
- This will be the last release to support Android 8.1 (Oreo MR1)
New Features:
- BATCH_TO_SPACE_ND support
- SPACE_TO_BATCH_ND support
- STRIDED_SLICE support
Other changes:
- Bug fix to allow LSTM to support optional inputs: MLCE-91 LSTM doesn't support optional input Resolved
- Bug fix for ConvertFullyConnected failure: MLCE-87 ConvertFullyConnected not supported Resolved
Known Issues:
Release 18.11
New Features:
• ADD support for QASYMM8 tensors
• FULLY_CONNECTED support for QASYMM8 tensors
• DIV operator support
• SUB operator support
• MEAN operator support
• PAD operator support
• SQUEEZE operator support
• TRANSPOSE operator support
Other changes:
• The driver now uses NHWC versions of ArmNN layers rather than NCHW. This change yields a significant speed improvement in many networks.
• An issue has been fixed where an operand with lifetime MODEL_OUTPUT could not be used as an input into another operation.
• The behavior of the --enable-fp16 option has been improved and now the results with the option enabled are much closer to with it disabled. However, see known issues.
Known Issues:
• When using --enable-fp16 some VTS tests for FULLY_CONNECTED, CONCATENATION and DEPTHWISE_CONVOLUTION will not pass. These test cases use large numeric values which are outside the range used by most neural networks. This issue will be further investigated in a future release.
Release 18.08.01
This patch release allows the new "fp16-enabled" argument (introduced in the 18.08 release) to be correctly parsed by the Android NN Driver.
Release 18.08
This release of Arm NN integrates the latest Compute Library and adds additional NNAPI support.
New Features:
- Support LSTM operator from Compute Library.
- Support for Android P.
- Experimental support for relaxComputationFloat32toFloat16 from android.hardware.neuralnetworks@1.1. To enable this feature, pass --fp16-enabled on the driver command-line.
Other changes:
- This release of ArmNN requires at least release 18.08 of the Compute Library.
- Fixed an issue where Android NN was not correctly able to use the broadcast mul layer.
Known Issues:
- Build error on Android O depending on platform configuration: error: android.hardware.neuralnetworks@1.1-service-armnn (EXECUTABLES android-arm64) missing android.hardware.neuralnetworks@1.1.
- In order to work around this error set ALLOW_MISSING_DEPENDENCIES=true in the build environment.