From 8f397a1efed11e17e9f8cb12b53a72b7e32ab978 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Fri, 17 Jun 2022 15:38:22 +0100 Subject: IVGCVSW-6989 "Merged experimental/armnn_shim_sl" * Updated Serializer CMakeLists.txt to build armnnSerializerObj * Added constant tensors as input support to SL Signed-off-by: Sadik Armagan Change-Id: I22f6cf50147d99a01f7fe70d7446b114a4c57af3 --- shim/sl/canonical/ArmnnDriverImpl.hpp | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 shim/sl/canonical/ArmnnDriverImpl.hpp (limited to 'shim/sl/canonical/ArmnnDriverImpl.hpp') diff --git a/shim/sl/canonical/ArmnnDriverImpl.hpp b/shim/sl/canonical/ArmnnDriverImpl.hpp new file mode 100644 index 0000000000..836bf469cc --- /dev/null +++ b/shim/sl/canonical/ArmnnDriverImpl.hpp @@ -0,0 +1,59 @@ +// +// Copyright © 2022 Arm Ltd and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include "DriverOptions.hpp" + +#include + +#include +#include +#include +#include +#include + +using namespace android::nn; + +namespace armnn_driver +{ + +class ArmnnDriverImpl +{ +public: + static GeneralResult PrepareArmnnModel( + const armnn::IRuntimePtr& runtime, + const armnn::IGpuAccTunedParametersPtr& clTunedParameters, + const DriverOptions& options, + const Model& model, + const std::vector& modelCacheHandle, + const std::vector& dataCacheHandle, + const CacheToken& token, + bool float32ToFloat16 = false, + Priority priority = Priority::MEDIUM); + + static GeneralResult PrepareArmnnModelFromCache( + const armnn::IRuntimePtr& runtime, + const armnn::IGpuAccTunedParametersPtr& clTunedParameters, + const DriverOptions& options, + const std::vector& modelCacheHandle, + const std::vector& dataCacheHandle, + const CacheToken& token, + bool float32ToFloat16 = false); + + static const Capabilities& GetCapabilities(const armnn::IRuntimePtr& runtime); + + static std::vector& GetLoadedNetworks(); + + static void ClearNetworks(); + +private: + static bool ValidateSharedHandle(const SharedHandle& sharedHandle); + static bool ValidateDataCacheHandle(const std::vector& dataCacheHandle, const size_t dataSize); + + static std::vector m_NetworkIDs; +}; + +} // namespace armnn_driver \ No newline at end of file -- cgit v1.2.1