Skip to content

Releases: ARM-software/android-nn-driver

Release 22.02

03 Mar 11:14
Compare
Choose a tag to compare

New Features

  • Added Unidirectional Quantized LSTM.

Bug Fixes

  • Cast Device and Driver in log message to unsigned long.

Known Issues

  • There is a known performance regression between Android NN driver 21.11 and 22.02 on a subset of models using the GpuAcc backend. These models are characterized by having a CONV2D as their first operator. The regression relates to the feature "Import of Aligned Host Memory". The current implementation, by default, disables import of the input tensor but enables export of the output tensor. The workaround is to either fully enable or fully disable this feature. This can be done using the --enableImport and–enableExport Android NN driver options.

Android 12 Compatibility Testing was performed using the following:

Android Tag Android Build ID Mali Driver Android Compatibility Test Suite Android Vendor Test Suite
android-12.0.0_r1 SP1A.210812.015 r35p0_01eac0 12_r1_arm64 (7698606) 12_r1_arm64 (7698606)
android-12.0.0_r1 SP1A.210812.015 r37p0_01eac0 12_r2 (7987736) 12_r2 (7973604)
android-12.0.0_r1 SP1A.210812.015 r38p0_01eac0 12_r2 (7987736) 12_r2 (7973604)

Android 11 Compatibility Testing was performed using the following:

Android Tag Android Build ID Mali Driver Android Compatibility Test Suite Android Vendor Test Suite
android-11.0.0_r6 RPM1.210413.002 r33p0_01eac0 11_r5 (7640833) 11_r5 (7599184)

Android 10 Compatibility Testing was performed using the following:

Android Tag Android Build ID Mali Driver
android-10.0.0_r39 QQ3A.200605.002.A1 R23P0_01REL0

Release 21.11

22 Nov 15:01
Compare
Choose a tag to compare

New Features

  • Added support for Reduce Prod.
  • Added support for Channel Shuffle
  • Implemented NNAPI caching functions.
  • Enabled internal profiling of Optimizer.

Bug Fixes

  • Fixed driver crash in DumpTensor.
  • Cleared up coverity issues.
  • Restricted CpuRef LSTM tests to run only when CpuRef is enabled.

Android 12 Compatibility Testing was performed using the following:

Android Tag Android Build ID Mali Driver Android Compatibility Test Suite Android Vendor Test Suite
android-12 SP1A.210812.015 r36p0_01eac0 12_r2 (7987736) 12_r2 (7973604)
android-12 SP1A.210812.015 r35p0_01eac0 12_r1 (7698606) 12_r1 (7698606)
android-12 SP1A.210812.003 r34p0_01eac0 12_r1 (eng.upr473.20210901.005349) 12_r1 (eng.upr473.20210901.024841)
android-12 SP1A.210812.003 r32p1_01eac0 12_r1 (eng.upr473.20210901.005349)1 12_r1 (eng.upr473.20210901.024841)

1: CtsNNAPITestCases with Mali Driver r32p1_01eac0. The following test is known to be failing: AddTwoWithHardwareBufferInputWithGPUUsage. Investigations indicate this failure is due to Android NN HAL utilizing Gralloc functionality not required by the Gralloc API. This issue has been raised with Google Android team, and is tracked as https://partnerissuetracker.corp.google.com/issues/202025253. Please quote Arm reference MIDCET-3783 when discussing this issue.

Android 11 Compatibility Testing was performed using the following:

Android Tag Android Build ID Mali Driver Android Compatibility Test Suite Android Vendor Test Suite
android-11.0.0_r6 RPM1.210413.002 r33p0_01eac0 11_r3 (7127450) 11_r3 (7137996)

Android 10 Compatibility Testing was performed using the following:

Androidtag Android Build ID Mali Driver
android-10.0.0_r39 QQ3A.200605.002.A1 R23P0_01REL0

Release 21.08

26 Aug 16:29
Compare
Choose a tag to compare

New Features

  • Moved unit tests from BOOST to doctest.
  • Changed weights layout for Depthwise Convolution Operator from [M,I,H,W] to [1,H,W,I*M].
  • Added QUANT8_ASYMM_SIGNED support for PadV2 Operator.
  • Added SIN and LOG support to ElementWiseUnary Operator.

Bug Fixes

  • Fixed uninitialised m_Optional field in ConstTensorPin.
  • Fixed Wsign-compare compiler error and improved compiler warnings.

Note

  • If building with FP16 support enabled for the CpuAcc backend on Android P or Q, a new flag (DARM_COMPUTE_ENABLE_FP16) must be added to the scons parameters when building Arm Compute Library.

Release 21.05

20 May 16:35
Compare
Choose a tag to compare

New Features

  • CAST operator support on HAL 1.2 and HAL 1.3.
  • REDUCE_SUM operator support on HAL 1.2 and HAL 1.3.
  • REDUCE_MIN operator support on HAL 1.2 and HAL 1.3.
  • REDUCE_MAX operator support on HAL 1.2 and HAL 1.3.
  • Non-const weights support added on FULLY_CONNECTED layer.

Bug Fixes

  • Fix added for dump files to handle situations where a shape has no dimensions or unspecified dimensions.
  • Fix added to avoid driver abort when tests use invalid filter shape.
  • Improved performance on SqueezeNet v1.1.

Other Changes

  • Removed cross-wiring in DepthwiseConvolution2d. The permutation of the full tensor info is now performed in armnnUtils::Permuted.
  • Removed data layout from dump files.

Release 21.02

25 Feb 18:30
Compare
Choose a tag to compare

New Features:

  • If "-request-inputs-and-outputs-dump-dir" is enabled it will serialize the network graph to a ".armnn" file to given directory.
  • Added ability to save and load the ClContext through android-nn-driver
    • Two optimization parameters were added to enable:
      • "q,cached-network-file",
        "If non-empty, the given file will be used to load/save cached network."

        "If save-cached-network option is given will save the cached network to given file."

        "If save-cached-network option is not given will load the cached network from given file."

      • "s,save-cached-network",
        "Enables saving the cached network to the file given with cached-network-file option."

Other Changes:

  • Provide LayerSupportHandle to frontend users.
  • Update setup and Android.bp files to build v8.2a driver.
  • Add CpuAcc specific configuration option numberOfThreads.
  • Add GpuAcc MLGO tuning file configuration argument.

Bug Fixes:

Known Issues:

Deprecated features:

Release 20.11

27 Nov 17:12
Compare
Choose a tag to compare

New Features:

  • Added support for EXP operator.
  • Added support for Logical NOT, AND and OR.
  • Added ability to enable ACL fast_math through the NNAPI driver.
  • Added SECURITY.md file.

Other Changes:

  • Removed remaining boost from android-nn-driver runtime code (Boost still resides in Unit Tests).
    • Removed boost::array from unit tests
    • Removed boost::format and swapped to fmt
    • Removed boost::numeric_cast
    • Removed boost::math::fpc uses
      *Removed boost::program_options and swapped to cxxopts
  • Updated ConvertConcatenation, ConvertQuantizedLstm, ConvertQuantized16BitLstm, ConvertLstm and ConvertSqueeze functions to use ShapeInferenceMethod.

Bug Fixes:

  • Fixed linking issue with pipeCommon if it's not being built.
  • Fixed BackendHint missing when cloning a layer.
  • Fixed incorrect function name in log for ConvertMaximum.
  • Fixed skipped concat VTS tests.
  • Fixed for Android-NN-Driver cmd line parameters.
  • Fixed Transpose Conv2d Dynamic tests.
  • Fixed skipping Dynamic Grouped Conv2d tests.
  • Fixed skipping VTS DynamicOutputShape FullyConnected.

Known Issues:

Release 20.08

28 Aug 17:19
9ed83ee
Compare
Choose a tag to compare

New Features:

  • Added FILL operator support for HAL 1.3 Driver.
  • Added GATHER operator support for HAL 1.3 and 1.2 on CpuAcc and GpuAcc.
  • Added RANK operator support for HAL 1.3 Driver.
  • Add QoS to AndroidNNDriver.
  • Added align corner and half pixels support to the RESIZE operator for HAL 1.3 Driver.
  • Added Dynamic Tensor Type1 support for all layers except for:
    • Concatenation
    • Fill
    • Rank
    • Squeeze
    • LSTM
    • QLSTM
    • Q16bitLSTM

Bug Fixes:

  • Add support for SOFTMAX when beta is Float16.
  • Add support for TRANSPOSE when the permutation vector has no value by setting it to the default permutation vector.
  • Add check in STRIDED_SLICE for negative stride with ShrinkAxisMask.

Known Issues:

  • Android Q CTS TestRandomGraph/RandomGraphTest#LargeGraph_TENSOR_FLOAT16_Rank2/20 has been added to the list of test that are allowed to fail, as it has a LOG followed by a FLOOR in FP16. This test is not part of the Android R CTS.
  • Caffe SqueezeNet not supported in CpuAcc and GpuAcc, due to the axis used in the Softmax layer is not supported by ACL. Default axis for Softmax in ACL is now the most right dimension(0 for ACL, -1 for ArmNN). In 20.05 and before the default axis was the second dimension from the right.
  • Support to wav2letter model has been added, however its accuracy has not been confirmed yet.

Note: In the 20.11 release we will stop supporting Android P, and we will officially support Android R. Just as additional information, it is worth mentioning that the large number of tests that have been added to the Android R VTS and NeuralNetworks has increased test runtime substantially.

Release 20.05

29 May 16:38
Compare
Choose a tag to compare

New Features:

  • Added TENSOR_BOOL8 data type support
  • Added NEG operator support to HAL 1.2 Driver
  • Introduced HAL 1.3 Driver
  • Added TENSOR_QUANT8_ASYMM_SIGNED data type support to HAL 1.3 Driver
  • Added ELU operator support to HAL 1.3 Driver
  • Added HARD_SWISH support to HAL 1.3 Driver
  • Added QLSTM operator support for constant weights to HAL 1.3 Driver
  • Added driver option to name the driver service which is registered

Other changes:

  • Fixed concatenation layer VTS test being skipped in CpuAcc and GpuAcc
  • Added flow to exclude libOpenCL when building AndroidnNN

Known issues:

  • QLSTM produces slightly different cell state output values compared to expected values provided in VTS

Release 20.02

28 Feb 18:32
Compare
Choose a tag to compare

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

28 Jan 17:39
Compare
Choose a tag to compare

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: