IVGCVSW-4447 Add Hal 1_3 Support

* Add new 1.3 files HalPolicy, ArmnnDriver, ArmnnDriverImpl
* Add new .rc file for 1.3 service
* Add ArmnnPreparedModel_1_3 and implement new functions
* Update Android.mk with 1.3 driver and service
* Refactor ifdef to include ARMNN_ANDROID_NN_V1_3
* Create Utils getMainModel for new 1.3 Model Main Subgraph
* Use android Utils to convertToV1_X in ArmnnPrepapredModel_1_3
* Refactor HAL 1.2 convert functions into ConversionUtils_1_2.hpp
* Replace ArmnnBurstExecutorWithCache with call to ExecutionBurstServer

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I514069e9e1b16bcd1c4abfb5d563d25ac22d02e3
25 files changed
tree: e5260f4b9e5e36080269243c1f1cd74f5589b206
  1. .gitignore
  2. 1.0/
  3. 1.1/
  4. 1.2/
  5. 1.3/
  6. Android.bp
  7. Android.mk
  8. ArmnnDevice.cpp
  9. ArmnnDevice.hpp
  10. ArmnnDriver.hpp
  11. ArmnnDriverImpl.cpp
  12. ArmnnDriverImpl.hpp
  13. ArmnnPreparedModel.cpp
  14. ArmnnPreparedModel.hpp
  15. ArmnnPreparedModel_1_2.cpp
  16. ArmnnPreparedModel_1_2.hpp
  17. ArmnnPreparedModel_1_3.cpp
  18. ArmnnPreparedModel_1_3.hpp
  19. ConversionUtils.cpp
  20. ConversionUtils.hpp
  21. ConversionUtils_1_2.hpp
  22. DriverOptions.cpp
  23. DriverOptions.hpp
  24. LICENSE
  25. ModelToINetworkConverter.cpp
  26. ModelToINetworkConverter.hpp
  27. NnapiSupport.txt
  28. README.md
  29. RequestThread.cpp
  30. RequestThread.hpp
  31. SystemPropertiesUtils.hpp
  32. Utils.cpp
  33. Utils.hpp
  34. android.hardware.neuralnetworks@1.0-service-armnn.rc
  35. android.hardware.neuralnetworks@1.1-service-armnn.rc
  36. android.hardware.neuralnetworks@1.2-service-armnn.rc
  37. android.hardware.neuralnetworks@1.3-service-armnn.rc
  38. docs/
  39. service.cpp
  40. setup.sh
  41. test/
README.md

ArmNN Android Neural Networks driver

This directory contains the ArmNN driver for the Android Neural Networks API, implementing the android.hardware.neuralnetworks@1.0, android.hardware.neuralnetworks@1.1 and android.hardware.neuralnetworks@1.2 HALs.

For more information about supported operations and configurations, see NnapiSupport.txt

For documentation about integrating this driver into an Android tree, see Integrator Guide

For FAQs and troubleshooting advice, see FAQ.md

License

The android-nn-driver is provided under the MIT license. See LICENSE for more information. Contributions to this project are accepted under the same license.

Individual files contain the following tag instead of the full license text.

SPDX-License-Identifier: MIT

This enables machine processing of license information based on the SPDX License Identifiers that are available here: http://spdx.org/licenses/