From 0a2dfabd76a45c58d0a14567f0503369c4e6fbf3 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Wed, 6 Oct 2021 16:41:44 +0100 Subject: IVGCVSW-5636 'Implement NNAPI caching functions' * Cached serialized ArmNN model. !armnn:6384 Signed-off-by: Sadik Armagan Signed-off-by: Kevin May Change-Id: I78120a7f8ea892a28c0ff25f1b54e67a4f912574 --- 1.2/ArmnnDriver.hpp | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to '1.2/ArmnnDriver.hpp') diff --git a/1.2/ArmnnDriver.hpp b/1.2/ArmnnDriver.hpp index a350d3f4..c855b527 100644 --- a/1.2/ArmnnDriver.hpp +++ b/1.2/ArmnnDriver.hpp @@ -19,6 +19,8 @@ #include "../1.0/ArmnnDriverImpl.hpp" #include "../1.0/HalPolicy.hpp" +#include + #include namespace armnn_driver @@ -135,20 +137,26 @@ public: } Return prepareModelFromCache( - const android::hardware::hidl_vec&, - const android::hardware::hidl_vec&, - const HidlToken&, - const android::sp& callback) + const android::hardware::hidl_vec& modelCacheHandle, + const android::hardware::hidl_vec& dataCacheHandle, + const HidlToken& token, + const android::sp& cb) { ALOGV("hal_1_2::ArmnnDriver::prepareModelFromCache()"); - callback->notify_1_2(V1_0::ErrorStatus::GENERAL_FAILURE, nullptr); - return V1_0::ErrorStatus::GENERAL_FAILURE; + return ArmnnDriverImpl::prepareModelFromCache(m_Runtime, + m_Options, + modelCacheHandle, + dataCacheHandle, + token, + cb); } - Return prepareModel_1_2(const V1_2::Model& model, V1_1::ExecutionPreference preference, - const android::hardware::hidl_vec&, - const android::hardware::hidl_vec&, const HidlToken&, - const android::sp& cb) + Return prepareModel_1_2( + const V1_2::Model& model, V1_1::ExecutionPreference preference, + const android::hardware::hidl_vec& modelCacheHandle, + const android::hardware::hidl_vec& dataCacheHandle, + const HidlToken& token, + const android::sp& cb) { ALOGV("hal_1_2::ArmnnDriver::prepareModel_1_2()"); @@ -165,6 +173,9 @@ public: m_ClTunedParameters, m_Options, model, + modelCacheHandle, + dataCacheHandle, + token, cb, model.relaxComputationFloat32toFloat16 && m_Options.GetFp16Enabled()); @@ -198,9 +209,12 @@ public: Return getNumberOfCacheFilesNeeded(getNumberOfCacheFilesNeeded_cb cb) { ALOGV("hal_1_2::ArmnnDriver::getSupportedExtensions()"); - - // Set both numbers to be 0 for cache not supported. - cb(V1_0::ErrorStatus::NONE, 0, 0); + unsigned int numberOfCachedModelFiles = 0; + for (auto& backend : m_Options.GetBackends()) + { + numberOfCachedModelFiles += GetNumberOfCacheFiles(backend); + } + cb(V1_0::ErrorStatus::NONE, numberOfCachedModelFiles, 1ul); return Void(); } }; -- cgit v1.2.1