Commit graph

932 commits

Author SHA1 Message Date
David Gross
2569d1aa4a Merge "FL7: Refine REVERSE specification" am: dd26914af7 am: d90a3fdb5a am: 84924a175d am: 6c9a09cdc5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1915765

Change-Id: I5b3abc55ef5986a8bbcc5fe102e200d2944029fd
2021-12-10 23:19:26 +00:00
David Gross
91a30c1cea FL7: Refine REVERSE specification
Test: N/A

Bug: 202280925

Change-Id: Iae1f177254023c750c701e6594a61f3958de538c
2021-12-08 16:55:51 -08:00
David Gross
cbf10f9cd2 Merge "FL7: Add some AIDL_V3 test infrastructure" am: 8f7ecd2d50 am: 7e1d2a294e am: 1812477791 am: beb2a43439
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1909591

Change-Id: I693bb9ed6cbc0d974dc860d6db2c1201eebea904
2021-12-06 21:06:16 +00:00
David Gross
8e9fbfc592 FL7: Add some AIDL_V3 test infrastructure
Test: atest VtsHalNeuralnetworksTargetTest -- --test-arg com.android.tradefed.testtype.GTest:native-test-flag:"--gtest_filter=*abs*:*floor*:*log*:*rsqrt*:*sin*:*sqrt*"

Bug: 202280925
Change-Id: I848add0ddb94e1500a5d4d6af5d51ddf5ebba045
2021-12-02 15:39:33 -08:00
David Gross
2edfc467f1 Add NNAPI specification and infrastructure for FL7.
Adds operations MIRROR_PAD and REVERSE.
Extends RSQRT to support QUANT8_ASYMM and QUANT8_ASYMM_SIGNED.

DOES NOT include tests or CPU reference implementation.

Bug: 202280917

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest

Merged-In: I0b2133346b996849faac00c46885e3633c78f024
Change-Id: I0b2133346b996849faac00c46885e3633c78f024
(cherry picked from commit 04ed8595b5)
2021-11-22 14:41:51 -08:00
David Gross
04ed8595b5 Add NNAPI specification and infrastructure for FL7.
Adds operations MIRROR_PAD and REVERSE.
Extends RSQRT to support QUANT8_ASYMM and QUANT8_ASYMM_SIGNED.

DOES NOT include tests or CPU reference implementation.

Bug: 202280917

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest

Change-Id: I0b2133346b996849faac00c46885e3633c78f024
2021-11-22 11:15:01 -08:00
Michael Butler
5203cd1d67 Merge "Rename Version::ANDROID_* to kVersionFeatureLevel* -- hal" am: 8f6b82c7a5 am: 58b61dbce0 am: b79dc03c81 am: 0092aefaa2
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1896056

Change-Id: If1e0c76bcba7fac6d69bdef6d7b0810292cd6b39
2021-11-19 03:56:02 +00:00
Michael Butler
c6bbc28165 Merge "Make NNAPI Version more structured -- hal" am: 71b595549c am: a9ebf76162 am: 4d7093ecd2 am: 22c9336428
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1890277

Change-Id: I94b642c7f2b14594bf0e37628cd22b362e562eee
2021-11-19 01:04:53 +00:00
Michael Butler
60a7b86cf0 Rename Version::ANDROID_* to kVersionFeatureLevel* -- hal
Prior to this change, version constants (e.g., Version::ANDROID_S) were
public static constants to make the version constants look as if they
were enum values. However, this method prevented versions from being
constexpr, because the Version type was incomplete by that point in
time. This change moves these version constants outside of the Version
struct, and makes them constexpr. They have the new names:
* Version::ANDROID_OC_MR1 -> kVersionFeatureLevel1
* Version::ANDROID_P -> kVersionFeatureLevel2
* Version::ANDROID_Q -> kVersionFeatureLevel3
* Version::ANDROID_R -> kVersionFeatureLevel4
* Version::ANDROID_S -> kVersionFeatureLevel5
* Version::FEATURE_LEVEL_6 -> kVersionFeatureLevel6
* Version::EXPERIMENTAL -> kVersionFeatureLevelExperimental

Bug: 206975939
Test: mma
Change-Id: Ibf5f2fdb1459a69c51865aa5fdcd0cb0c3a88ade
2021-11-18 23:56:54 +00:00
Michael Butler
34f0a8f418 Make NNAPI Version more structured -- hal
Prior to this topic, NNAPI Versions were linear and represented by an
enumeration. However, this did not properly account for the
non-linearity of runtime-specific features such as a control flow
operations with operands of dynamic sizes. This topic alters Version to
be a struct containing a feature level enumeration as well as a boolean
which indicates whether there are runtime-specific features.

Bug: 206975939
Test: mma
Test: NeuralNetworksTests_static
Change-Id: I78c54ef597bf269b137f2835332bdedac49883d4
2021-11-18 23:56:15 +00:00
Michael Butler
51ac1e9793 Merge "Configure Version value for each version of NN AIDL utils" am: 21e079c9e2 am: a0c2165144 am: 99aea2fe82 am: 04f63c1e18
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1890278

Change-Id: I02759b48d6d5972ea549dfd7039914e898488060
2021-11-16 20:52:13 +00:00
Michael Butler
21e079c9e2 Merge "Configure Version value for each version of NN AIDL utils" 2021-11-16 19:30:51 +00:00
Michael Butler
11b7f63991 Merge "Consolidate NNAPI OWNERS files" am: 161883c967 am: 3e31733ee7 am: c8d5b0599c am: 43b5f0f221
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1892878

Change-Id: I4e3d5b838727a8cc152a93fecad0e5e3f3997f31
2021-11-16 00:25:33 +00:00
Michael Butler
20f76f3654 Configure Version value for each version of NN AIDL utils
Currently, there are two different versions of the NN AIDL utils:
* neuralnetworks_utils_hal_aidl_v1 (v1)
* neuralnetowrks_utils_hal_aidl (v2)

This change configures utils::kVersion to match the version of the
utility library that builds it.

Bug: N/A
Test: mma
Change-Id: I7d08bf50f76664702ec0828cc35a363eb29bdde3
2021-11-15 15:42:28 -08:00
Michael Butler
acd7955b21 Consolidate NNAPI OWNERS files
This change deletes all existing OWNERS files under
hardware/interfaces/neuralnetworks and creates a new OWNERS file with
the current NNAPI team members.

This change also updates the NNAPI project path in
hardware/interfaces/neuralnetworks/README.

Bug: 179510251
Test: N/A
Change-Id: Iaca69505c8449ae7d93be0db99205f5f56556e86
2021-11-15 20:22:41 +00:00
Ian Hua
162753ba0b Merge "Freeze neuralnetworks AIDL version as v2 for FL6" am: 2a7b0014a7 am: d42d9f7f4b am: 80b9eaa419 am: e3b6aea7c8 am: 0d395bd674
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1880612

Change-Id: Ia090d08fb8f2476c0a5061cf2fe338221cfe6b34
2021-11-10 12:03:12 +00:00
Ian Hua
2a7b0014a7 Merge "Freeze neuralnetworks AIDL version as v2 for FL6" 2021-11-10 10:51:18 +00:00
Michael Butler
698f81e2b3 Merge "Remove unnecessary NNAPI header files" am: 9ec39aa042 am: 340e03f4b9 am: 970d671c9b am: b40584fd8e am: 53b8aa9d99
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1880752

Change-Id: Ic5e925237786260eca1890de6f23e252c12454a2
2021-11-09 03:28:33 +00:00
Michael Butler
2ffa7ad391 Remove unnecessary NNAPI header files
This change removes the following header files, which were created
temporarily while NNAPI utility code was being re-organized, and are no
longer needed:
* include/AidlBufferTracker.h
* include/AidlHalInterfaces.h
* include/AidlHalUtils.h
* include/AidlValidateHal.h

Bug: 191442336
Test: mma
Test: atest neuralnetworks_utils_hal_*
Change-Id: I895d0bf6b5fd0ec4ef2977da0ecfe2a106e44083
2021-11-05 12:26:01 -07:00
David Gross
7e2e6b33a4 Freeze neuralnetworks AIDL version as v2 for FL6
$ m android.hardware.neuralnetworks-update-api
$ m android.hardware.neuralnetworks-freeze-api

Bug: 203055646

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest
Change-Id: I35dbd32695acdffc552790dc7396bc8c724e9242
2021-11-04 10:11:16 -07:00
Michael Butler
044b1271ef Merge changes from topic "libneuralnetworks_common-cleanup" am: ee7a476090 am: f3ac53fa2a am: 14c577fc22 am: 882338aeaa am: 036adec109
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1878019

Change-Id: Ia81a3ad625e2ec3ff70501b70c3bd36d751e9873
2021-11-03 20:01:02 +00:00
Michael Butler
8bd6cccf20 Move Aidl utility code to aidl/utils -- hal 1/2 am: 8fa5383407 am: 937d71b102 am: 4b45b7b234 am: f8eee4fe1b am: cb1285dc8c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1878018

Change-Id: I7d695306a8906ce4acd16da67a5a6bc903415113
2021-11-03 20:01:00 +00:00
Michael Butler
937d71b102 Move Aidl utility code to aidl/utils -- hal 1/2 am: 8fa5383407
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1878018

Change-Id: I4dc6f6a75e1643ddb9fd1e673dedde70e366fff5
2021-11-03 18:47:28 +00:00
Michael Butler
ee7a476090 Merge changes from topic "libneuralnetworks_common-cleanup"
* changes:
  Move Aidl utility code to aidl/utils -- hal 2/2
  Move Aidl utility code to aidl/utils -- hal 1/2
2021-11-03 18:14:06 +00:00
Michael Butler
24d95273f2 Merge changes Ibd460229,I589668ef am: 7815893786 am: 00e983df29 am: 7f9d146254 am: 5de3d44e0b am: c11d2b1770
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1877839

Change-Id: Icd2085d4f5a425067c13d0e6b161bfc560b18624
2021-11-02 21:56:34 +00:00
Michael Butler
c331067aac Move Aidl utility code to aidl/utils -- hal 2/2
This change is part of an effort to remove HAL types from
libneuralnetworks_common*. This change:
* Updates the header guard names for the new directory
* Removes the "Aidl" prefix from the files
* Adds temporary "Aidl" header files under include/ that redirect to
   their corresponding files in include/nnapi/hal/aidl/
* Changes references of libneuralnetworks_common_hidl to
   libneuralnetworks_common

Bug: 191442336
Test: mma
Change-Id: Icbcc04e0a49a9adf8d8826fd5735028ea26de0ca
2021-11-01 21:34:53 -07:00
Michael Butler
8fa5383407 Move Aidl utility code to aidl/utils -- hal 1/2
This change is part of an effort to remove HAL types from
libneuralnetworks_common*. This change moves the following files to
hardware/interfaces/neuralnetworks/aidl/utils:
* AidlBufferTracker.h
* AidlHalInterfaces.h
* AidlHalUtils.h
* AidlValidateHal.h

Bug: 191442336
Test: mma
Change-Id: I799d8ba761c004af963fc6bc044125d8828f2053
2021-11-01 21:34:49 -07:00
Michael Butler
137ee99a16 Re-organize NNAPI Burst utility classes
This change:
* Renames ExecutionBurstController to Burst in 1.2/utils
* Renames ExecutionBurstUtils to BurstUtils in 1.2/utils
* Renames ExecutionBurstServer to Burst in common/adapter

Bug: N/A
Test: mma
Change-Id: Ibd460229887c8c9cd23ebc6ee61da37c7c820288
2021-11-01 16:40:31 -07:00
Michael Butler
cfc16f94b2 Change NN adapter to use ExecutionBurstServer utility
Bug: 180492058
Bug: 177267324
Test: mma, presubmit
Change-Id: I589668efe187641a67934463bcdea8d19f095bb4
2021-11-01 14:48:48 -07:00
Michael Butler
abc86918ae Revert^2 "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."
Reason for revert: rollforward fix of this topic

This change is a revert of I3d3ac4745, which itself is a revert of
I74f1798e8.

This CL modifies the AIDL utils libraries to be explicitly
versioned. Currently, we only have two versions: v1 and "current".
Specifically, the following changes are made:
- Remove AIDL dependencies from neuralnetworks_utils_hal_common
- Create explicitly versioned libs of neuralnetworks_utils_hal_aidl*

This is needed because it is not allowed for a build target to
link against multiple versions of the same AIDL lirary.

The canonical driver will report ANDROID_S for AIDL v1, and FL6 for v2.

Reverted Changes:
I2aefa0023:Revert "Use explicitly versioned NNAPI HAL util li...
Ia7df07ab9:Revert "Add neuralnetworks_utils_hal_aidl_v2 to al...
Iadd823460:Revert "Provide explicitly version NNAPI AIDL util...
I3d3ac4745:Revert "Provide explicitly versioned NNAPI AIDL ut...

Bug: 202405342
Test: NNT_static
Test: CtsNNAPITestCases
Test: VtsHalNeuralnetworksTargetTest
Change-Id: Ib3b732aa406f6d37e8f941082807c9232720c909
Merged-In: Ib3b732aa406f6d37e8f941082807c9232720c909
(cherry picked from commit 478a78ea77)
2021-10-29 14:28:45 -07:00
Michael Butler
d4cad1c2b4 Merge "Revert^2 "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."" 2021-10-29 21:08:58 +00:00
Michael Butler
478a78ea77 Revert^2 "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."
Reason for revert: rollforward fix of this topic

This change is a revert of I3d3ac4745, which itself is a revert of
I74f1798e8.

This CL modifies the AIDL utils libraries to be explicitly
versioned. Currently, we only have two versions: v1 and "current".
Specifically, the following changes are made:
- Remove AIDL dependencies from neuralnetworks_utils_hal_common
- Create explicitly versioned libs of neuralnetworks_utils_hal_aidl*

This is needed because it is not allowed for a build target to
link against multiple versions of the same AIDL lirary.

The canonical driver will report ANDROID_S for AIDL v1, and FL6 for v2.

Reverted Changes:
I2aefa0023:Revert "Use explicitly versioned NNAPI HAL util li...
Ia7df07ab9:Revert "Add neuralnetworks_utils_hal_aidl_v2 to al...
Iadd823460:Revert "Provide explicitly version NNAPI AIDL util...
I3d3ac4745:Revert "Provide explicitly versioned NNAPI AIDL ut...

Bug: 202405342
Test: NNT_static
Test: CtsNNAPITestCases
Test: VtsHalNeuralnetworksTargetTest
Change-Id: Ib3b732aa406f6d37e8f941082807c9232720c909
2021-10-27 21:59:44 -07:00
Ian Hua
64b82c3673 Add FL6 spec tests to AIDL VTS. am: ca46f9768c am: 65a058482b am: 1a1d9d0325 am: cc144fffe5 am: 71e94d7243
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1866682

Change-Id: Ib085391c12ee7d82ced9f321d89799d736e7c877
2021-10-27 17:19:54 +00:00
Ian Hua
ca46f9768c Add FL6 spec tests to AIDL VTS.
Also skip FL6 (AIDL_V2) tests for older AIDL drivers.

Bug: 203038813
Test: VtsHalNeuralnetworksTargetTest
Specifically, for old driver such as AIDL_V1 sample driver, it can pass
HIDL tests and skip AIDL_V2 tests. For new driver such as AIDL_V2
sample driver, it can pass all tests.

Change-Id: I689fef0945428f6548977628e3c43628dd1e5bf7
2021-10-27 11:55:25 +01:00
Michael Butler
aa33ad0e05 Merge changes Iae9f692f,Ib43f1cb6,I9d4f0c30,I7d06ea35 am: 5f14bad22c am: b9aff55ad9 am: 6109e931d9 am: ebab2cdef5 am: 1fb34517fc
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1863342

Change-Id: Id84736e9ef21fb82f3905204498700ffb56c0390
2021-10-27 01:58:54 +00:00
Michael Butler
5f14bad22c Merge changes Iae9f692f,Ib43f1cb6,I9d4f0c30,I7d06ea35
* changes:
  Move NN HandleError from utils/common to 1.0/utils
  Relocate NN ProtectCallback to 1.0/utils
  Move NN memory utils from utils/common to 1.0/utils
  Remove hal::utils::countNumberOfConsumers
2021-10-26 23:55:24 +00:00
Michael Butler
49d95e0457 Move NN HandleError from utils/common to 1.0/utils
This change is part of a larger chain of changes to remove HIDL and AIDL
libraries from neuralnetworks_utils_hal_common.

Bug: N/A
Test: mma
Change-Id: Iae9f692ffc72700294aae694c256e75c7e353fef
2021-10-26 21:18:33 +00:00
Michael Butler
e8645c3b8d Relocate NN ProtectCallback to 1.0/utils
This change is part of a larger chain of changes to remove HIDL and AIDL
libraries from neuralnetworks_utils_hal_common.

Bug: N/A
Test: mma
Change-Id: Ib43f1cb683a09ae5c9116a6dea4d269c9c2c78b4
2021-10-26 21:18:09 +00:00
Michael Butler
15965821e8 Move NN memory utils from utils/common to 1.0/utils
This change is part of a larger chain of changes to remove HIDL and AIDL
libraries from neuralnetworks_utils_hal_common.

Bug: N/A
Test: mma
Change-Id: I9d4f0c30932fad7ccb6231aa03e57f7227af4880
2021-10-26 21:17:53 +00:00
Michael Butler
301ef060e9 Remove hal::utils::countNumberOfConsumers
This CL removes hal::utils::countNumberOfConsumers and uses the existing
nn::countNumberOfConsumers.

This change is part of a larger chain of changes to remove HIDL and AIDL
libraries from neuralnetworks_utils_hal_common.

Bug: N/A
Test: mma
Change-Id: I7d06ea355eae7aa80b94b09a23d606bbb2322120
2021-10-26 21:17:10 +00:00
Michael Butler
c42a934ea8 Revert "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."
Revert "Use explicitly versioned NNAPI HAL util libs in darwinn2."

Revert "Add neuralnetworks_utils_hal_aidl_v2 to allowed_deps.txt"

Revert "Provide explicitly version NNAPI AIDL utils lib -- runtime."

Revert submission 16007539-nnapi-experimental-aidl-feature

Reason for revert: The cherry-pick of this CL breaks the build
Reverted Changes:
Ieb2da3461:Add neuralnetworks_utils_hal_aidl_v2 to allowed_de...
I8ae01e3c6:Provide explicitly version NNAPI AIDL utils lib --...
I74f1798e8:Provide explicitly versioned NNAPI AIDL utils libs...
I2362464e8:Use explicitly versioned NNAPI HAL util libs in da...

Test: mma

Change-Id: I3d3ac4745fb707cbdceb2019f3c2fc7807183b71
Merged-In: I3d3ac4745fb707cbdceb2019f3c2fc7807183b71
(cherry picked from commit 932e82b0c3)
2021-10-25 21:13:15 -07:00
Michael Butler
c02e862913 Merge "Revert "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."" 2021-10-26 03:43:15 +00:00
Michael Butler
932e82b0c3 Revert "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."
Revert "Use explicitly versioned NNAPI HAL util libs in darwinn2."

Revert "Add neuralnetworks_utils_hal_aidl_v2 to allowed_deps.txt"

Revert "Provide explicitly version NNAPI AIDL utils lib -- runtime."

Revert submission 16007539-nnapi-experimental-aidl-feature

Reason for revert: The cherry-pick of this CL breaks the build
Reverted Changes:
Ieb2da3461:Add neuralnetworks_utils_hal_aidl_v2 to allowed_de...
I8ae01e3c6:Provide explicitly version NNAPI AIDL utils lib --...
I74f1798e8:Provide explicitly versioned NNAPI AIDL utils libs...
I2362464e8:Use explicitly versioned NNAPI HAL util libs in da...

Change-Id: I3d3ac4745fb707cbdceb2019f3c2fc7807183b71
2021-10-26 03:29:13 +00:00
Xusong Wang
cb2c37f78f Provide explicitly versioned NNAPI AIDL utils libs -- HAL.
This CL modifies the AIDL utils libraries to be explicitly
versioned. Currently, we only have two versions: v1 and "current".
Specifically, the following changes are made:
- Remove AIDL dependencies from neuralnetworks_utils_hal_common
- Create explicitly versioned libs of neuralnetworks_utils_hal_aidl_*

This is needed because it is not allowed for a build target to
link against multiple versions of the same AIDL lirary.

The canonical driver will report ANDROID_S for AIDL v1, and FL6 for v2.

Bug: 202405342
Test: NNT_static
Test: CtsNNAPITestCases
Test: VtsHalNeuralnetworksTargetTest
Change-Id: I74f1798e80a059949e43e0567d23e884a7f7c92d
Merged-In: I74f1798e80a059949e43e0567d23e884a7f7c92d
(cherry picked from commit 9763a9537d)
2021-10-25 12:58:44 -07:00
Xusong Wang
9557306454 Merge "Provide explicitly versioned NNAPI AIDL utils libs -- HAL." 2021-10-25 07:10:59 +00:00
Xusong Wang
9763a9537d Provide explicitly versioned NNAPI AIDL utils libs -- HAL.
This CL modifies the AIDL utils libraries to be explicitly
versioned. Currently, we only have two versions: v1 and "current".
Specifically, the following changes are made:
- Remove AIDL dependencies from neuralnetworks_utils_hal_common
- Create explicitly versioned libs of neuralnetworks_utils_hal_aidl_*

This is needed because it is not allowed for a build target to
link against multiple versions of the same AIDL lirary.

The canonical driver will report ANDROID_S for AIDL v1, and FL6 for v2.

Bug: 202405342
Test: NNT_static
Test: CtsNNAPITestCases
Test: VtsHalNeuralnetworksTargetTest
Change-Id: I74f1798e80a059949e43e0567d23e884a7f7c92d
2021-10-21 10:33:04 -07:00
David Gross
09e486ee47 Merge "Add PACK operation to NNAPI feature level 6." am: 6e74ca65a7 am: 9fc0aae600 am: 6232d05bf5 am: 9e836f5709 am: 6ec84071f4
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1835817

Change-Id: Iee6a6cd8605d27b769ad5c25037a161937cebbdb
2021-10-19 22:24:56 +00:00
David Gross
6e74ca65a7 Merge "Add PACK operation to NNAPI feature level 6." 2021-10-19 21:23:12 +00:00
David Gross
79d63db0c8 Add PACK operation to NNAPI feature level 6.
Bug: 200281183
Bug: 200280665

Test: m -j NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest

Change-Id: Ic15d047b70c62437b4f0db6f2ca10127591ae07c
2021-10-19 11:04:57 -07:00
Michael Butler
6767158be2 Merge "Allow implicit conversions for NN errors -- hal" am: 68e98f40dc am: d236dbf3b3 am: 36c599d513 am: 0e0dc63cff am: 2542d951d0
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1859936

Change-Id: I2d5d614f17b8762d2523dde714ae5f6a38adf2a2
2021-10-19 00:16:19 +00:00