diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2021-10-06 16:41:44 +0100 |
---|---|---|
committer | mike.kelly <mike.kelly@arm.com> | 2021-11-04 15:16:10 +0000 |
commit | 0a2dfabd76a45c58d0a14567f0503369c4e6fbf3 (patch) | |
tree | 035340e9f663d599f83992846e1772b161640654 /1.2/ArmnnDriverImpl.hpp | |
parent | 1b46d132a3330692fcf9a603b21363a28f46ef03 (diff) | |
download | android-nn-driver-0a2dfabd76a45c58d0a14567f0503369c4e6fbf3.tar.gz |
IVGCVSW-5636 'Implement NNAPI caching functions'
* Cached serialized ArmNN model.
!armnn:6384
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I78120a7f8ea892a28c0ff25f1b54e67a4f912574
Diffstat (limited to '1.2/ArmnnDriverImpl.hpp')
-rw-r--r-- | 1.2/ArmnnDriverImpl.hpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/1.2/ArmnnDriverImpl.hpp b/1.2/ArmnnDriverImpl.hpp index eeb491b6..70f46cba 100644 --- a/1.2/ArmnnDriverImpl.hpp +++ b/1.2/ArmnnDriverImpl.hpp @@ -7,10 +7,13 @@ #include <HalInterfaces.h> +#include "../CacheDataHandler.hpp" #include "../DriverOptions.hpp" #include <armnn/ArmNN.hpp> +#include <NeuralNetworks.h> + #ifdef ARMNN_ANDROID_R using namespace android::nn::hal; #endif @@ -30,12 +33,27 @@ namespace hal_1_2 class ArmnnDriverImpl { public: - static Return<V1_0::ErrorStatus> prepareArmnnModel_1_2(const armnn::IRuntimePtr& runtime, - const armnn::IGpuAccTunedParametersPtr& clTunedParameters, - const DriverOptions& options, - const V1_2::Model& model, - const android::sp<V1_2::IPreparedModelCallback>& cb, - bool float32ToFloat16 = false); + using HidlToken = android::hardware::hidl_array<uint8_t, ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN>; + + static Return<V1_0::ErrorStatus> prepareArmnnModel_1_2( + const armnn::IRuntimePtr& runtime, + const armnn::IGpuAccTunedParametersPtr& clTunedParameters, + const DriverOptions& options, + const V1_2::Model& model, + const android::hardware::hidl_vec<android::hardware::hidl_handle>& modelCacheHandle, + const android::hardware::hidl_vec<android::hardware::hidl_handle>& dataCacheHandle, + const HidlToken& token, + const android::sp<V1_2::IPreparedModelCallback>& cb, + bool float32ToFloat16 = false); + + static Return<V1_0::ErrorStatus> prepareModelFromCache( + const armnn::IRuntimePtr& runtime, + const DriverOptions& options, + const android::hardware::hidl_vec<android::hardware::hidl_handle>& modelCacheHandle, + const android::hardware::hidl_vec<android::hardware::hidl_handle>& dataCacheHandle, + const HidlToken& token, + const android::sp<V1_2::IPreparedModelCallback>& cb, + bool float32ToFloat16 = false); static Return<void> getCapabilities_1_2(const armnn::IRuntimePtr& runtime, V1_2::IDevice::getCapabilities_1_2_cb cb); |