summaryrefslogtreecommitdiff
path: root/neuralnetworks/aidl/utils/test
AgeCommit message (Collapse)Author
2022-01-20Merge "Cleanup NN utility libraries' dependencies"Michael Butler
2022-01-20Cleanup NN utility libraries' dependenciesMichael Butler
Bug: N/A Test: mma Change-Id: I0243c477098d9a2de28ca78bfde155d3ecb5acb6
2022-01-20HAL interface for compilation and execution hintsMiao Wang
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 0e671f3edb9d2c78658a4ef4169e3211e3f9bb00)
2022-01-18Reusable execution at HAL level -- HAL.Xusong Wang
This CL modifies the canonical/AIDL adapter to use IExecution object if available. Bug: 202405342 Bug: 202431255 Test: NNT_static Test: CtsNNAPITestCases Test: VtsHalNeuralnetworksTargetTest Change-Id: I6aac3c57f97ac87a5ba3f78cfd843fcc403decff Merged-In: I6aac3c57f97ac87a5ba3f78cfd843fcc403decff (cherry picked from commit 7f5c7d293c2dad462dc9c0f1f1a160fb2c2c9a9b)
2021-11-22Add NNAPI specification and infrastructure for FL7.David Gross
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 04ed8595b5587e9f6e71ac45edd17cf92da56c32)
2021-11-18Rename Version::ANDROID_* to kVersionFeatureLevel* -- halMichael Butler
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-18Make NNAPI Version more structured -- halMichael Butler
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-10-29Revert^2 "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."Michael Butler
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 478a78ea77fccf332b04d5ad25309428d0f96eaf)
2021-10-25Revert "Provide explicitly versioned NNAPI AIDL utils libs -- HAL."Michael Butler
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 932e82b0c30fa2078bd421053506ec4e9191f66c)
2021-10-25Provide explicitly versioned NNAPI AIDL utils libs -- HAL.Xusong Wang
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 9763a9537df323c5d4446483d1375057582c6228)
2021-06-28Fix ordering of cache files requirements from deviceLev Proleev
Data and model numbers were switched in the AIDL implementation of canonical Device. Bug: 190757709 Test: neuralnetworks_utils_hal_aidl_test Change-Id: I0d95b2d436994ffc877a4e02eb31f449b983e61e Merged-In: I0d95b2d436994ffc877a4e02eb31f449b983e61e (cherry picked from commit 3fd4ec47060c3e55de54bcb6678160fb5bdd01e4)
2021-05-10Introduce reusable execution to canonical interface -- HAL.Xusong Wang
This CL modifies the canonical interface for reusable executions: - Add new interface: IExecution with compute and computeFenced methods - Add new method IPreparedModel::createExecution In NNAPI runtime, the new interface IExecution is used to memoize request-specific execution resources (e.g. converted HAL request). The expected usage is that, IPreparedModel::createExecution will be invoked in the first computation of a reusable NDK ANNExecution object, and IExecution::compute* will be invoked repeatedly. The IPreparedModel::execute* methods are preserved to avoid redundant object creation and memoization overhead for a single-time (non-reusable) execution. For a vendor implementing the canonical interfaces, only the IPreparedModel::execute* methods will be called because there is currently no reusable execution at HAL interface. A DefaultExecution implementation is provided to reduce the work needed on the vendor side. Bug: 184073769 Test: NNT_static Test: neuralnetworks_utils_hal_1_0_test Test: neuralnetworks_utils_hal_1_1_test Test: neuralnetworks_utils_hal_1_2_test Test: neuralnetworks_utils_hal_1_3_test Test: neuralnetworks_utils_hal_common_test Test: neuralnetworks_utils_hal_aidl_test Change-Id: I91790bb5ccf5ae648687fe603f88ffda2c9fd2b2 Merged-In: I91790bb5ccf5ae648687fe603f88ffda2c9fd2b2 (cherry picked from commit 727a7b2104b0962509fedffe720eec508b2ee6de)
2021-04-20Add units to hal times and durations namesLev Proleev
The change adds "Ns" suffix to timeOnDevice, timeInDriver, loopTimeoutDuration, deadline and duration. Fix: 183118329 Test: mm Change-Id: I4afe34f27fc8717ac28c8fa09edda9918641c39a Merged-In: Id1f9ee4b8e41873c97690bb19a5e84572dd9ccf1
2021-04-02Create NN AIDL Burst adapterMichael Butler
Bug: 180492058 Bug: 177267324 Test: mma Test: NeuralNetworksTest_static Change-Id: I2947faeb3820faa963e4df1eaf7aefec57b66c79 Merged-In: I2947faeb3820faa963e4df1eaf7aefec57b66c79 (cherry picked from commit 504f44926c0e0ce0a5b5a591dbb848fdb732d8b2)
2021-04-02Add additional parameters for NN Burst -- HALMichael Butler
Adds deadline and loopTimeoutDuration to nn::IBurst::execute. This CL additionally adds a test case for IPreparedModel::configureExecutionBurst and adds the suffix "_H" to the header guards that were missing "_H". Bug: 180492058 Bug: 177267324 Test: mma Test: NeuralNetworksTest_static Change-Id: Ic9ba2fb9b4dee4e40d99ae91bb9555a58d0508d2 Merged-In: Ic9ba2fb9b4dee4e40d99ae91bb9555a58d0508d2 (cherry picked from commit bbbdb0d5f118efa8159c3cc98304208fd7631609)
2021-03-20Add Burst tests to NN AIDL HAL VTSMichael Butler
Bug: 180492058 Bug: 177267324 Test: mma Test: VtsHalNeuralnetworksTargetTest Change-Id: I1744005cbf750b70b42367b81a2fa6b8f24c1904 Merged-In: I1744005cbf750b70b42367b81a2fa6b8f24c1904 (cherry picked from commit 8b7e8138685678c1e7b1d7de8b06ff0899c61b2d)
2021-03-16Add canonical types adapters for NNAPI AIDL interfaceLev Proleev
Also: * Add missing AIDL<->CT conversions * Add AIDL-specific info to neuralnetworks/utils/README.md * Add mock classes and tests AIDL adapters Bug: 179015258 Test: neuralnetworks_utils_hal_test Change-Id: Ifa98fadd46dca5dbf9b3ceb4da811aa8da45b6e4 Merged-In: Ifa98fadd46dca5dbf9b3ceb4da811aa8da45b6e4 (cherry picked from commit 3b93b0b56a4f5128eaa942d804dd490317c0abcb)