// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include "../CacheDataHandler.hpp" #include "../DriverOptions.hpp" #include #include #ifdef ARMNN_ANDROID_R using namespace android::nn::hal; #endif #ifdef ARMNN_ANDROID_S using namespace android::hardware; #endif namespace V1_0 = ::android::hardware::neuralnetworks::V1_0; namespace V1_2 = ::android::hardware::neuralnetworks::V1_2; namespace armnn_driver { namespace hal_1_2 { class ArmnnDriverImpl { public: using HidlToken = android::hardware::hidl_array; static Return prepareArmnnModel_1_2( const armnn::IRuntimePtr& runtime, const armnn::IGpuAccTunedParametersPtr& clTunedParameters, const DriverOptions& options, const V1_2::Model& model, const android::hardware::hidl_vec& modelCacheHandle, const android::hardware::hidl_vec& dataCacheHandle, const HidlToken& token, const android::sp& cb, bool float32ToFloat16 = false); static Return prepareModelFromCache( const armnn::IRuntimePtr& runtime, const DriverOptions& options, const android::hardware::hidl_vec& modelCacheHandle, const android::hardware::hidl_vec& dataCacheHandle, const HidlToken& token, const android::sp& cb, bool float32ToFloat16 = false); static Return getCapabilities_1_2(const armnn::IRuntimePtr& runtime, V1_2::IDevice::getCapabilities_1_2_cb cb); }; } // namespace hal_1_2 } // namespace armnn_driver