From 6a903a78a637f240a5a5a13fffa36fd0cfbdcf7d Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Tue, 26 May 2020 10:41:54 +0100 Subject: IVGCVSW-4850 Create QLSTM unit test in android-nn-driver * Added QLSTM unit tests Signed-off-by: Sadik Armagan Change-Id: Ibb7587d8a4fae4a630e7e80f4c3ce830665a7c77 --- test/DriverTestHelpers.cpp | 65 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 3 deletions(-) (limited to 'test/DriverTestHelpers.cpp') diff --git a/test/DriverTestHelpers.cpp b/test/DriverTestHelpers.cpp index 18e33777..c6d44065 100644 --- a/test/DriverTestHelpers.cpp +++ b/test/DriverTestHelpers.cpp @@ -61,7 +61,7 @@ Return PreparedModelCallback::notify(V1_0::ErrorStatus status, return Void(); } -#ifdef ARMNN_ANDROID_NN_V1_2 +#if defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) Return PreparedModelCallback_1_2::notify(V1_0::ErrorStatus status, const android::sp& preparedModel) @@ -81,6 +81,34 @@ Return PreparedModelCallback_1_2::notify_1_2(V1_0::ErrorStatus status, #endif +#ifdef ARMNN_ANDROID_NN_V1_3 + +Return PreparedModelCallback_1_3::notify(V1_0::ErrorStatus status, + const android::sp& preparedModel) +{ + m_1_0_ErrorStatus = status; + m_PreparedModel = preparedModel; + return Void(); +} + +Return PreparedModelCallback_1_3::notify_1_2(V1_0::ErrorStatus status, + const android::sp& preparedModel) +{ + m_1_0_ErrorStatus = status; + m_PreparedModel_1_2 = preparedModel; + return Void(); +} + +Return PreparedModelCallback_1_3::notify_1_3(V1_3::ErrorStatus status, + const android::sp& preparedModel) +{ + m_1_3_ErrorStatus = status; + m_PreparedModel_1_3 = preparedModel; + return Void(); +} + +#endif + // lifted from common/Utils.cpp hidl_memory allocateSharedMemory(int64_t size) { @@ -119,7 +147,7 @@ android::sp PrepareModelWithStatus(const V1_0::Model& mode return cb->GetPreparedModel(); } -#if defined(ARMNN_ANDROID_NN_V1_1) || defined(ARMNN_ANDROID_NN_V1_2) +#if defined(ARMNN_ANDROID_NN_V1_1) || defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) android::sp PrepareModelWithStatus(const V1_1::Model& model, armnn_driver::ArmnnDriver& driver, @@ -140,7 +168,7 @@ android::sp PrepareModelWithStatus(const V1_1::Model& mode #endif -#ifdef ARMNN_ANDROID_NN_V1_2 +#if defined(ARMNN_ANDROID_NN_V1_2) || defined(ARMNN_ANDROID_NN_V1_3) android::sp PrepareModelWithStatus_1_2(const armnn_driver::hal_1_2::HalPolicy::Model& model, armnn_driver::ArmnnDriver& driver, @@ -166,6 +194,37 @@ android::sp PrepareModelWithStatus_1_2(const armnn_driver: #endif +#ifdef ARMNN_ANDROID_NN_V1_3 + +android::sp PrepareModelWithStatus_1_3(const armnn_driver::hal_1_3::HalPolicy::Model& model, + armnn_driver::ArmnnDriver& driver, + V1_3::ErrorStatus& prepareStatus) +{ + android::sp cb(new PreparedModelCallback_1_3()); + + android::hardware::hidl_vec emptyHandle1; + android::hardware::hidl_vec emptyHandle2; + armnn_driver::ArmnnDriver::HidlToken emptyToken; + + driver.prepareModel_1_3(model, + V1_1::ExecutionPreference::LOW_POWER, + V1_3::Priority::LOW, + {}, + emptyHandle1, + emptyHandle2, + emptyToken, + cb); + + prepareStatus = cb->Get_1_3_ErrorStatus(); + if (prepareStatus == V1_3::ErrorStatus::NONE) + { + BOOST_TEST((cb->GetPreparedModel_1_3() != nullptr)); + } + return cb->GetPreparedModel_1_3(); +} + +#endif + V1_0::ErrorStatus Execute(android::sp preparedModel, const V1_0::Request& request, V1_0::ErrorStatus expectedStatus) -- cgit v1.2.1