Commit graph

1011 commits

Author SHA1 Message Date
Treehugger Robot
73754429ee Merge "Make VtsHalNeuralnetworks* tests more binder-friendly." into android12-tests-dev am: 2a04b4462f am: 2a3972288c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2194136

Change-Id: I1ebf39592d323ef2e4b394c360fe0774da1f6347
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-26 17:24:25 +00:00
Treehugger Robot
2a3972288c Merge "Make VtsHalNeuralnetworks* tests more binder-friendly." into android12-tests-dev am: 2a04b4462f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2194136

Change-Id: I651a99927a137c7401750274b505e30e548e7858
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-26 17:05:34 +00:00
David Gross
79324920f7 Make VtsHalNeuralnetworks* tests more binder-friendly.
Certain mutation testing -- mutateOperandLifeTimeTest and
mutateOperandInputOutputTest -- can introduce potentially very large
CONSTANT_COPY operands, which can in turn create potentially very
large Models which must be passed across binder.  To avoid overflowing
the binder buffer, we estimate the size of the mutated Model, and skip
the test if that size is too high.  The old logic recognizes that our
tests only have a single active binder transaction at a time, and
assumes that there are no other clients using the same service at the
same time, and so we should have the binder buffer to ourselves; to be
conservative, we reject any Model whose estimated size exceeds half
the binder buffer size.  Unfortunately, sometimes the binder buffer
still overflows, because it unexpectedly contains an allocation from
some other transaction: It appears that binder buffer memory
management is not serialized with respect to transactions from our
tests, and therefore depending on scheduler behavior, there may be a
sizeable allocation still in the buffer when we attempt to pass the
large Model.  To fix this problem we become even more conservative,
and instead of limiting the Model to half the binder buffer size, we
limit it to half IBinder.MAX_IPC_SIZE (the recommended transaction
size limit).  To confirm that this change does not exclude too many
tests, I checked how may times the size filter function
exceedsBinderSizeLimit is called, how many times it rejects a model
under the new logic (modelsExceedHalfMaxIPCSize), and how many times
it rejects a model under the old logic (modelsExceedHalfMaxIPCSize).

Test: VtsHalNeuralnetworksV1_0TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models =  3592, modelsExceedHalfMaxIPCSize = 212, modelsExceedHalfBufferSize = 18
Test: VtsHalNeuralnetworksV1_1TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models =  7228, modelsExceedHalfMaxIPCSize = 330, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_2TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 52072, modelsExceedHalfMaxIPCSize = 506, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_3TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 73342, modelsExceedHalfMaxIPCSize = 568, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksTargetTest

Bug: 227719657
Bug: 227719752
Bug: 231928847
Bug: 238777741
Bug: 242271308

Change-Id: I3f81d71ca3c0ad4c639096b1dc034a8909bc8971
2022-08-25 23:11:41 +00:00
Michael Butler
68c8b4cb5d Merge "Disable TEST_MAPPING for VtsHalNeuralnetworksV1_*TargetTest" am: bc24c9b37a am: 184e6dcebd
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2118707

Change-Id: Ib81ecc387650f8eadd559fd17956ee023c62b92d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 01:18:25 +00:00
Michael Butler
bc24c9b37a Merge "Disable TEST_MAPPING for VtsHalNeuralnetworksV1_*TargetTest" 2022-06-15 23:47:08 +00:00
Michael Butler
e8e7a1018c Disable TEST_MAPPING for VtsHalNeuralnetworksV1_*TargetTest
A sibling change removes the NN HIDL sample drivers from cuttlefish. In
response, this change removes the VtsHalNeuralnetworksV1_*TargetTest
tests from the TEST_MAPPING because they do not test anything without
the NN HIDL sample drivers present.

Note that the NN AIDL sample drivers and NN AIDL VTS test
(VtsHalNeuralnetworksTargetTest) are still present.

Bug: 233665601
Test: mma
Test: croot && cd hardware/interfaces/neuralnetworks && atest
Change-Id: I90bccd843ba9296c27d3010cec652be55a13a225
2022-06-08 10:47:22 -07:00
Jordan Abrahams-Whitehead
bb2afde687 Merge "vts: Upsize 8bit uniform_int_distribution" am: 13a42ed14d am: c7e13d9244
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2110725

Change-Id: Ibf6a3bc540b5dd06a24330b506a98e2f3bca2ad5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 23:08:56 +00:00
Jordan R Abrahams-Whitehead
745c351b8b vts: Upsize 8bit uniform_int_distribution
uniform_int_distribution<a> for types sizeof(a) < 2 are
not valid by the C++ library standard. Newer versions of LLVM
(particularly spurred on by ChromeOS toolchain changes)
require at least std::uniform_int_distribution<uint16_t>.

This is a required change for rolling LLVM to r458507.
This is necessary, but may not be sufficient to resolve
the issue.

Bug: 231351802
Test: mma
Change-Id: I04c3cc91507f3467c432b9a25effdac3f5fb56f3
2022-05-30 22:30:54 +00:00
David Gross
96e9eeb19d Freeze neuralnetworks AIDL version as v2 for FL6
$ m android.hardware.neuralnetworks-update-api
$ m android.hardware.neuralnetworks-freeze-api

Cherrypicked from I35dbd32695acdffc552790dc7396bc8c724e9242

Bug: 206089870

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest
Change-Id: I35dbd32695acdffc552790dc7396bc8c724e9242
Merged-In: I35dbd32695acdffc552790dc7396bc8c724e9242
(cherry picked from commit 2a889d50b7)
2022-05-23 13:30:56 -07:00
Ian Hua
5dde02c7f6 Add FL6 spec tests to AIDL VTS.
Also skip FL6 (AIDL_V2) tests for older AIDL drivers.

Cherrypicked from I689fef0945428f6548977628e3c43628dd1e5bf7

Bug: 206089870
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
(cherry picked from commit 23d4e5e298)
2022-05-23 13:06:30 -07:00
David Gross
a8cf3aefd8 Add PACK operation to NNAPI feature level 6.
Cherrypicked from Ic15d047b70c62437b4f0db6f2ca10127591ae07c

Bug: 206089870

Test: m -j NeuralNetworksTest_static
Test: VtsHalNeuralnetworksTargetTest

Change-Id: Ic15d047b70c62437b4f0db6f2ca10127591ae07c
Merged-In: Ic15d047b70c62437b4f0db6f2ca10127591ae07c
(cherry picked from commit 0af4ac2ec4)
2022-05-23 13:06:04 -07:00
Ian Hua
b0cf0db3b0 AIDL interface changes for NNAPI feature level 6.
- Add BATCH_MATMUL operation
- Support TENSOR_INT32 for RESHAPE operation.

Also update "current" version snapshot and use
android.hardware.neuralnetworks-V2-ndk since AIDL v1 has been frozen.

Cherrypicked from Iabe45c57e2306d61055f711eda03b80b9cbe906d

Bug: 206089870
Test: mm
Change-Id: Iabe45c57e2306d61055f711eda03b80b9cbe906d
Merged-In: Iabe45c57e2306d61055f711eda03b80b9cbe906d
(cherry picked from commit aaeda0e84f)
2022-05-23 13:05:06 -07:00
Michael Butler
ad643b608c Move NN_TRY macro out of struct initialization
NNAPI NN_TRY macros use Statement Expressions (a GNU extension) to
propagate errors. However, a "return" statement in a Statement
Expression can lead to memory leaks when the Statement Expression is
being used to initialize a member of a struct. Specifically, when one
member of a struct is already initialized, and a Statement Expression
used to initialize a subsequent member early-returns, the previously
initialized members will not have their destructors called.

This CL moves any NN_TRY macro out of struct initialization to avoid any
potential memory leaks.

Bug: 230500484
Test: mma
Test: presubmit
Change-Id: I3493fd4764f8eacc86750e6414e62bc891abaccd
Merged-In: I3493fd4764f8eacc86750e6414e62bc891abaccd
2022-04-29 14:32:10 -07:00
Michael Butler
12adc10cfd Merge "Move NN_TRY macro out of struct initialization" into tm-dev am: 13300287b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/17991614

Change-Id: Ibf2ed6b11978b524307f1d4209404a32c73c6ceb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:32:20 +00:00
Michael Butler
13300287b5 Merge "Move NN_TRY macro out of struct initialization" into tm-dev 2022-04-29 18:06:29 +00:00
Michael Butler
7ecc290745 Move NN_TRY macro out of struct initialization
NNAPI NN_TRY macros use Statement Expressions (a GNU extension) to
propagate errors. However, a "return" statement in a Statement
Expression can lead to memory leaks when the Statement Expression is
being used to initialize a member of a struct. Specifically, when one member of a struct is already initialized, and a Statement Expression used to initialize a subsequent member early-returns, the previously initialized members will not have their destructors called.

This CL moves any NN_TRY macro out of struct initialization to avoid any
potential memory leaks.

Bug: 230500484
Test: mma
Test: presubmit
Change-Id: I3493fd4764f8eacc86750e6414e62bc891abaccd
2022-04-28 22:05:37 +00:00
Michael Butler
39dac4dee4 Do not call releaseMemoryResource on ignored slot in NN VTS
For IBurst, a slot value of -1 indicates the slot should be ignored.
However, GeneratedTestHarness still attempts to call
IBurst::releaseMemoryResource on ignored slots. Instead, we should skip
releasing any ignored slots.

Bug: 230103381
Test: mma
Test: VtsHalNeuralnetworksTargetTest
Test: presubmit
Change-Id: I82e538aa0fd9e8ecc077df1c1ceece46a6166e67
Merged-In: I82e538aa0fd9e8ecc077df1c1ceece46a6166e67
2022-04-28 18:58:46 +00:00
Michael Butler
7840b95dd6 Merge "Do not call releaseMemoryResource on ignored slot in NN VTS" into tm-dev am: cb2e758c92
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/17970068

Change-Id: I58d0f4dffda3ffac6f9fe81f08b0bec27454c04d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-28 01:06:41 +00:00
Michael Butler
d468abed9b Do not call releaseMemoryResource on ignored slot in NN VTS
For IBurst, a slot value of -1 indicates the slot should be ignored.
However, GeneratedTestHarness still attempts to call
IBurst::releaseMemoryResource on ignored slots. Instead, we should skip
releasing any ignored slots.

Bug: 230103381
Test: mma
Test: VtsHalNeuralnetworksTargetTest
Test: presubmit
Change-Id: I82e538aa0fd9e8ecc077df1c1ceece46a6166e67
2022-04-27 00:08:40 +00:00
Michael Butler
aa9f97a0e2 Merge "Handle case where NN AIDL callback is null in IDevice::prepareModel*" am: 5d4f1b70c2 am: 84ec222eb5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2072333

Change-Id: If046a013f58c839e3b01b0774c070d6a8b1fbc3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-22 18:53:01 +00:00
Michael Butler
d6f6d01499 Handle case where NN AIDL callback is null in IDevice::prepareModel*
Prior to this change, if IDevice::prepareModel* was passed a null
callback, the code would still attempt to call "notify" on the callback
to return the error to the client. This CL ensures the "notify" method
will not be invoked if the callback is null.

Bug: N/A
Test: mma
Test: presubmit
Change-Id: I4a15d02c4879a0261ec26cc0e7a47d0a4da86b8b
2022-04-21 16:40:09 -07:00
Jiyong Park
703e97920e Freeze AIDL APIs for TM
Bug: 225941299
Test: m
Change-Id: Ie41cc0797710f813f92c65c387f247c7806d8394
2022-03-31 12:01:39 +09:00
Michael Butler
4981b60f7f Merge "Make NN canonical->HIDL adapter execute* methods synchronous" am: f955569c8a am: c7d8c19823 am: 277e31957b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2005130

Change-Id: Ic8e1f71731ef3f429ec363a0730c0baafdf751b0
2022-03-04 01:44:00 +00:00
Michael Butler
d65dc06ddc Make NN canonical->HIDL adapter execute* methods synchronous
This change alters the asynchronous execute* methods to be handled
synchronously (from the same thread) for three reasons:
1) To remove the need to use IPreparedModel::getUnderlyingResource
2) To simplify the code
3) To make the code more performant

Bug: N/A
Test: mma
Test: presubmit
Change-Id: I2c37deb03d1b1c34b0173bd741e55fce4de757f7
2022-03-01 16:16:26 -08:00
Treehugger Robot
c5087c06b3 Merge "Cast to the underlying type for union tags" am: 6cd0d474b2 am: 5eb895c047 am: bbd66d27a0
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1999055

Change-Id: Ie0a38cc29d50c65b8168435c70786321fc9de199
2022-03-01 01:29:04 +00:00
Jooyung Han
0bdded6d5a Cast to the underlying type for union tags
Union tags are of enum type. Streaming it would make more sense by
casting to underlying types.

For now casting is not required since tags are defined as `enum Tag`.
But we're going to change it to `enum class Tag` which won't work with
operator<< without casting.

Bug: 218912230
Test: m
Change-Id: Ia5e8a5c38fe23c72dffbdca320a32abdfa0eb38e
2022-02-26 21:10:12 +09:00
Michael Butler
08d04aea58 Merge "Remove NN host specific build defines" am: fe9368b729 am: 13a6d16614 am: 6d588b7cd9
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1997731

Change-Id: I2bfc9dbc8c7fbc0940eed48968dc5df89314b08c
2022-02-24 02:18:15 +00:00
Chih-hung Hsieh
34593d4e2a Merge "Add timed out test files to tidy_timeout_srcs" am: ff54f73b4f am: fa83970b3a am: 581616e658
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1992232

Change-Id: I2eac13fe3b5ab0b4f15d6ceadf376e5e74124a81
2022-02-24 01:32:09 +00:00
Michael Butler
fe9368b729 Merge "Remove NN host specific build defines" 2022-02-24 00:59:51 +00:00
Chih-hung Hsieh
ff54f73b4f Merge "Add timed out test files to tidy_timeout_srcs" 2022-02-24 00:21:18 +00:00
Michael Butler
323bddccc6 Remove NN host specific build defines
These defines are redundant because they are already defined in
neuralnetworks_utils_defaults.

Bug: N/A
Test: mma
Change-Id: I1c5c44e9e61da19bc10dd8ed2e38099f7c4baccd
2022-02-23 11:44:53 -08:00
Chih-Hung Hsieh
ad1bf31b78 Add timed out test files to tidy_timeout_srcs
* Timed out runs do not show any warning messages.
* These test files cannot finish clang-tidy runs with
  the following settings:
    TIDY_TIMEOUT=90
    WITH_TIDY=1
    CLANG_ANALYZER_CHECKS=1
* When TIDY_TIMEOUT is set, in Android continuous builds,
  tidy_timeout_srcs files will not be compiled by clang-tidy.
  When developers build locally without TIDY_TIMEOUT,
  tidy_timeout_srcs files will be compiled.
* Some of these test modules may be split into smaller ones,
  or disable some time consuming checks, and then
  enable clang-tidy to run within limited time.

Bug: 201099167
Test: make droid tidy-hardware-interfaces_subset
Change-Id: I1de28f1572fff368f67eab512fffec9f2e5c2a9b
2022-02-18 17:25:41 -08:00
Michael Butler
51f3a442b1 Merge "Remove isUpdatable query from NNAPI -- hal" am: 82d36078b9 am: 3d9540d5ed am: 7c858f2ae4
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1985407

Change-Id: I25779bbd5701bb1a3c0c6c3dcc2e82a5e50ec271
2022-02-18 22:09:47 +00:00
Michael Butler
7407ee8074 Merge "Clamp NNAPI HAL Version to runtime version -- hal" am: b66f1308ac am: 27e3ce4cf6 am: 9c4d73c39d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1985406

Change-Id: I6b5669f02cf59128acb218d0baf1a2ea3cc99b39
2022-02-15 20:05:05 +00:00
Michael Butler
73e470235d Remove isUpdatable query from NNAPI -- hal
The NNAPI originally planned to have updated platform drivers delivered
through GMSCore. These updatable drivers would be retrieved through the
NN sAIDL utility code, and were known to be updatable through
Manager.cpp's Device::isUpdatable query.

However, the NNAPI ultimately did not move forward with its updatability
plans. This CL removes the updatability check in the NN AIDL utility
code.

Bug: N/A
Test: mma
Test: CtsNNAPITestCases
Test: NeuralNetworksTest_static
Change-Id: I6f9c1eac3af8cb54565bfaaeab7ddd382a85e3bd
2022-02-14 19:21:38 -08:00
Michael Butler
6f497d1833 Clamp NNAPI HAL Version to runtime version -- hal
The NNAPI is a Mainline Module, and its runtime version is determined by
an Android Feature Flag to remotely rollout and rollback Feature Levels
as needed. This change propagates the maximum feature level version
allowed by the runtime to the HAL utility code, and clamps the utility
code's version to the version allowed by the runtime.

Bug: N/A
Test: mma
Test: CtsNNAPITestCases
Test: NeuralNetworksTest_static
Test: logged driver version, set current_feature_level, and verified the
      driver version was clamped by current_feature_level
Change-Id: Ibaa895f8e35d36b2ddf9432b3ef9468e5886075f
2022-02-14 19:21:09 -08:00
Xusong Wang
f5ad7c56c9 Merge "Address ANAPIC review comments -- hal." am: 8b389e1123 am: 706652c817 am: cfa3838085 am: aba49d0512
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1957303

Change-Id: I88834c87adc1958cfd6cc68929d38eaad43c2d93
2022-02-09 19:47:27 +00:00
Xusong Wang
8805b2d67c Address ANAPIC review comments -- hal.
- Document that IPreparedModel::execute*WithConfig are for single-time
  usages, and IPreparedModel::createReusableExecution is for reusable
  usages.
- Make PrepareModelConfig::cacheToken a fixed sized array.

Fixes: 215566186
Test: VtsHalNeuralnetworksTargetTest
Test: NNT_static
Change-Id: I9c5a49c46a3eac2828b9eb666f3d742038493121
2022-02-07 14:02:41 -08:00
Michael Butler
e599ad0443 Merge "Move NNAPI HAL CommonUtils to nnapi/SharedMemory -- hal" am: ea3e90c1f1 am: 0d612d723b am: f288828f8e am: 67a0cba6b5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1966388

Change-Id: Ie8eccccc4d97287b776cf786d146f4cf80f1edc5
2022-02-01 23:27:28 +00:00
Michael Butler
6b0905cb69 Move NNAPI HAL CommonUtils to nnapi/SharedMemory -- hal
This CL relocates utility code that transfers data between pointer-based
memory and shared memory for Request objects and Model objects, moving
it from nnapi/hal/CommonUtils.h (hal utilities) to nnapi/SharedMemory.h
(canonical library).

This change also adds a check for whether Model and Requests have
pointer-based data in neuralnetworks/aidl/utils/src/Conversions.cpp to
make it consistent with the HIDL utility conversions.

Bug: 217217023
Test: mma
Test: presubmit
Change-Id: I55a0fea186708d806bc709681e10027a9e4b0ffb
2022-01-31 19:26:57 +00:00
Michael Butler
0e6671e908 Merge "Make VtsHalNeuralnetworksTargetTest run on the host" am: 8f255182ec am: ca13a2b719 am: c5699bca62 am: b81e3f351c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1946651

Change-Id: I34ce4c7d79fe86d57399daf363178d436e227fc2
2022-01-22 00:25:18 +00:00
Michael Butler
d0d9a7abac Make VtsHalNeuralnetworksTargetTest run on the host
This change adds a host build of VtsHalNeuralnetworksTargetTest. In the
existing device build of VtsHalNeuralnetworksTargetTest, the drivers run
out-of-process. In the host build of VtsHalNeuralnetworkaTargetTest, the
driver runs in-process.

The in-process driver that runs on the host is the canonical sample
driver (which is just the CPU "driver", located in
packages/modules/NeuralNetworks/driver/sample) adapted to an AIDL
interface (by the adapter code in
hardware/interfaces/neuralnetworks/utils/adapter/aidl).

Bug: N/A
Test: mma
Test: VtsHalNeuralnetworksTargetTest on host
Change-Id: Ia30dd3a7db8e0592b9f13d69c9831f8ffe10c371
2022-01-21 21:04:50 +00:00
Michael Butler
e0a93293c4 Merge "Cleanup NN utility libraries' dependencies" am: d3e413e759 am: fd0636d14b am: b3d989c805 am: 2dddfa7d4a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1950217

Change-Id: Ibf979c129b008a94d1b729e84cc2e338624e176b
2022-01-21 00:42:42 +00:00
Michael Butler
d3e413e759 Merge "Cleanup NN utility libraries' dependencies" 2022-01-20 23:36:09 +00:00
Michael Butler
9257d6d06d Cleanup NN utility libraries' dependencies
Bug: N/A
Test: mma
Change-Id: I0243c477098d9a2de28ca78bfde155d3ecb5acb6
2022-01-20 12:31:38 -08:00
Miao Wang
b5c8a82f25 HAL interface for compilation and execution hints
The following AIDL types are added:
 - TokenValuePair
 - PrepareModelConfig
 - ExecutionConfig

The following AIDL methods are added:
 - IDevice::prepareModelWithConfig
 - IPreparedModel::executeSynchronouslyWithConfig
 - IPreparedModel::executeFencedWithConfig
 - IBurst::executeSynchronouslyWithConfig

The compilation and execution hints are being stored as a list of
token-value pairs as part of the PrepareModelConfig / ExecutionConfig.
And the PrepareModelConfig / ExecutionConfig parcelables are created in
order to make future extensions to the execution related interfaces
easier.

It is the drivers responsibility to verify the hints, and it is allowed
for the driver to ignore them.

Bug: 203248587
Test: neuralnetworks_utils_hal_aidl_test
Change-Id: I98240fd75089fc85cdfcaa0be28aab8a6f0dfca5
Merged-In: I98240fd75089fc85cdfcaa0be28aab8a6f0dfca5
(cherry picked from commit 0e671f3edb)
2022-01-20 16:48:40 +00:00
Miao Wang
0e671f3edb HAL interface for compilation and execution hints
The following AIDL types are added:
 - TokenValuePair
 - PrepareModelConfig
 - ExecutionConfig

The following AIDL methods are added:
 - IDevice::prepareModelWithConfig
 - IPreparedModel::executeSynchronouslyWithConfig
 - IPreparedModel::executeFencedWithConfig
 - IBurst::executeSynchronouslyWithConfig

The compilation and execution hints are being stored as a list of
token-value pairs as part of the PrepareModelConfig / ExecutionConfig.
And the PrepareModelConfig / ExecutionConfig parcelables are created in
order to make future extensions to the execution related interfaces
easier.

It is the drivers responsibility to verify the hints, and it is allowed
for the driver to ignore them.

Bug: 203248587
Test: neuralnetworks_utils_hal_aidl_test
Change-Id: I98240fd75089fc85cdfcaa0be28aab8a6f0dfca5
2022-01-20 05:24:48 +00:00
David Gross
810aaa0a8d FL7: Refine MIRROR_PAD specification
Test: N/A

Bug: 202280925
Merged-In: If19d45d806f6ba33f9aa6c7af9bc411957cdc706
Change-Id: If19d45d806f6ba33f9aa6c7af9bc411957cdc706
(cherry picked from commit 4718025a6c)
2022-01-19 14:27:06 -08:00
David Gross
146b38685a FL7: Refine REVERSE specification
Test: N/A

Bug: 202280925

Merged-In: Iae1f177254023c750c701e6594a61f3958de538c
Change-Id: Iae1f177254023c750c701e6594a61f3958de538c
(cherry picked from commit 91a30c1cea)
2022-01-19 14:27:06 -08:00
David Gross
da4682aa6f 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
Merged-In: I848add0ddb94e1500a5d4d6af5d51ddf5ebba045
Change-Id: I848add0ddb94e1500a5d4d6af5d51ddf5ebba045
(cherry picked from commit 8e9fbfc592)
2022-01-19 14:27:05 -08:00