diff options
author | arovir01 <Aron.Virginas-Tar@arm.com> | 2018-09-05 17:03:25 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-09-18 12:40:40 +0100 |
commit | b0717b5241a15e3e4d37a1b51b6e5fd9a92a664f (patch) | |
tree | 84159d2eb142f12081c494483c07012e8ebee8cb /ArmnnDriverImpl.cpp | |
parent | 93e48980920ddcc8c6390fa6cbfdfc9740786617 (diff) | |
download | android-nn-driver-b0717b5241a15e3e4d37a1b51b6e5fd9a92a664f.tar.gz |
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
Diffstat (limited to 'ArmnnDriverImpl.cpp')
-rw-r--r-- | ArmnnDriverImpl.cpp | 42 |
1 files changed, 22 insertions, 20 deletions
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<ErrorStatus> FailPrepareModel(ErrorStatus error, namespace armnn_driver { -template <typename HalVersion> -Return<void> ArmnnDriverImpl<HalVersion>::getSupportedOperations( - const armnn::IRuntimePtr& runtime, - const DriverOptions& options, - const HalModel& model, - HalGetSupportedOperations_cb cb) +template<typename HalPolicy> +Return<void> ArmnnDriverImpl<HalPolicy>::getSupportedOperations(const armnn::IRuntimePtr& runtime, + const DriverOptions& options, + const HalModel& model, + HalGetSupportedOperations_cb cb) { ALOGV("ArmnnDriverImpl::getSupportedOperations()"); @@ -78,7 +77,7 @@ Return<void> ArmnnDriverImpl<HalVersion>::getSupportedOperations( } // Attempt to convert the model to an ArmNN input network (INetwork). - ModelToINetworkConverter<HalVersion> modelConverter(options.GetComputeDevice(), + ModelToINetworkConverter<HalPolicy> modelConverter(options.GetComputeDevice(), model, options.GetForcedUnsupportedOperations()); @@ -102,8 +101,8 @@ Return<void> ArmnnDriverImpl<HalVersion>::getSupportedOperations( return Void(); } -template <typename HalVersion> -Return<ErrorStatus> ArmnnDriverImpl<HalVersion>::prepareModel( +template<typename HalPolicy> +Return<ErrorStatus> ArmnnDriverImpl<HalPolicy>::prepareModel( const armnn::IRuntimePtr& runtime, const armnn::IGpuAccTunedParametersPtr& clTunedParameters, const DriverOptions& options, @@ -135,7 +134,7 @@ Return<ErrorStatus> ArmnnDriverImpl<HalVersion>::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<unsigned int> unsupportedOperations; - ModelToINetworkConverter<HalVersion> modelConverter(options.GetComputeDevice(), + ModelToINetworkConverter<HalPolicy> modelConverter(options.GetComputeDevice(), model, unsupportedOperations); @@ -196,8 +195,8 @@ Return<ErrorStatus> ArmnnDriverImpl<HalVersion>::prepareModel( return ErrorStatus::NONE; } - unique_ptr<ArmnnPreparedModel<HalVersion>> preparedModel( - new ArmnnPreparedModel<HalVersion>( + unique_ptr<ArmnnPreparedModel<HalPolicy>> preparedModel( + new ArmnnPreparedModel<HalPolicy>( netId, runtime.get(), model, @@ -228,19 +227,22 @@ Return<ErrorStatus> ArmnnDriverImpl<HalVersion>::prepareModel( return ErrorStatus::NONE; } -template <typename HalVersion> -Return<DeviceStatus> ArmnnDriverImpl<HalVersion>::getStatus() +template<typename HalPolicy> +Return<DeviceStatus> ArmnnDriverImpl<HalPolicy>::getStatus() { ALOGV("ArmnnDriver::getStatus()"); return DeviceStatus::AVAILABLE; } -// Class template specializations -template class ArmnnDriverImpl<HalVersion_1_0>; +/// +/// Class template specializations +/// + +template class ArmnnDriverImpl<hal_1_0::HalPolicy>; -#if defined(ARMNN_ANDROID_NN_V1_1) // Using ::android::hardware::neuralnetworks::V1_1. -template class ArmnnDriverImpl<HalVersion_1_1>; +#if defined(ARMNN_ANDROID_NN_V1_1) +template class ArmnnDriverImpl<hal_1_1::HalPolicy>; #endif -} // namespace armnn_driver +} // namespace armnn_driver
\ No newline at end of file |