From b0717b5241a15e3e4d37a1b51b6e5fd9a92a664f Mon Sep 17 00:00:00 2001 From: arovir01 Date: Wed, 5 Sep 2018 17:03:25 +0100 Subject: IVGCVSW-1806: Refactor Android-NN-Driver ModelToINetworkConverter * Moved conversion logic into new V1_0 and V1_1 HalPolicy classes * Extracted common helper functions into ConversionUtils class Change-Id: I1ab50edc266dd528c0cb22a5cd1aa65e103674d9 --- ArmnnDriverImpl.cpp | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) (limited to 'ArmnnDriverImpl.cpp') diff --git a/ArmnnDriverImpl.cpp b/ArmnnDriverImpl.cpp index c894aef4..10da1dd3 100644 --- a/ArmnnDriverImpl.cpp +++ b/ArmnnDriverImpl.cpp @@ -6,8 +6,8 @@ #define LOG_TAG "ArmnnDriver" #include "ArmnnDriverImpl.hpp" -#include "ModelToINetworkConverter.hpp" #include "ArmnnPreparedModel.hpp" +#include "ModelToINetworkConverter.hpp" #include "SystemPropertiesUtils.hpp" #if defined(ARMNN_ANDROID_P) @@ -53,12 +53,11 @@ Return FailPrepareModel(ErrorStatus error, namespace armnn_driver { -template -Return ArmnnDriverImpl::getSupportedOperations( - const armnn::IRuntimePtr& runtime, - const DriverOptions& options, - const HalModel& model, - HalGetSupportedOperations_cb cb) +template +Return ArmnnDriverImpl::getSupportedOperations(const armnn::IRuntimePtr& runtime, + const DriverOptions& options, + const HalModel& model, + HalGetSupportedOperations_cb cb) { ALOGV("ArmnnDriverImpl::getSupportedOperations()"); @@ -78,7 +77,7 @@ Return ArmnnDriverImpl::getSupportedOperations( } // Attempt to convert the model to an ArmNN input network (INetwork). - ModelToINetworkConverter modelConverter(options.GetComputeDevice(), + ModelToINetworkConverter modelConverter(options.GetComputeDevice(), model, options.GetForcedUnsupportedOperations()); @@ -102,8 +101,8 @@ Return ArmnnDriverImpl::getSupportedOperations( return Void(); } -template -Return ArmnnDriverImpl::prepareModel( +template +Return ArmnnDriverImpl::prepareModel( const armnn::IRuntimePtr& runtime, const armnn::IGpuAccTunedParametersPtr& clTunedParameters, const DriverOptions& options, @@ -135,7 +134,7 @@ Return ArmnnDriverImpl::prepareModel( // at this point we're being asked to prepare a model that we've already declared support for // and the operation indices may be different to those in getSupportedOperations anyway. set unsupportedOperations; - ModelToINetworkConverter modelConverter(options.GetComputeDevice(), + ModelToINetworkConverter modelConverter(options.GetComputeDevice(), model, unsupportedOperations); @@ -196,8 +195,8 @@ Return ArmnnDriverImpl::prepareModel( return ErrorStatus::NONE; } - unique_ptr> preparedModel( - new ArmnnPreparedModel( + unique_ptr> preparedModel( + new ArmnnPreparedModel( netId, runtime.get(), model, @@ -228,19 +227,22 @@ Return ArmnnDriverImpl::prepareModel( return ErrorStatus::NONE; } -template -Return ArmnnDriverImpl::getStatus() +template +Return ArmnnDriverImpl::getStatus() { ALOGV("ArmnnDriver::getStatus()"); return DeviceStatus::AVAILABLE; } -// Class template specializations -template class ArmnnDriverImpl; +/// +/// Class template specializations +/// + +template class ArmnnDriverImpl; -#if defined(ARMNN_ANDROID_NN_V1_1) // Using ::android::hardware::neuralnetworks::V1_1. -template class ArmnnDriverImpl; +#if defined(ARMNN_ANDROID_NN_V1_1) +template class ArmnnDriverImpl; #endif -} // namespace armnn_driver +} // namespace armnn_driver \ No newline at end of file -- cgit v1.2.1