diff options
author | Jim Flynn <jim.flynn@arm.com> | 2021-10-26 21:26:10 +0100 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2021-10-26 21:27:22 +0100 |
commit | e1fdd2866b0f403b5e80994890d62c2c038c16c9 (patch) | |
tree | d7398443532cbafde7c6824015397e6bac6dd502 /src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp | |
parent | ca5883951ab51191eb19502459f0936fc96e14f1 (diff) | |
download | armnn-e1fdd2866b0f403b5e80994890d62c2c038c16c9.tar.gz |
IVGCVSW-6470 Create MemoryStrategyBenchmark
* Refactor the strategy library to be more generic
* Shorten the names of the current strategies
* Change validatorStrat to throw exceptions
Change-Id: I0d9c9ef609b2d8675e5788610d1accac6767c660
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com>
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp')
-rw-r--r-- | src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp b/src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp deleted file mode 100644 index 0b48cbd176..0000000000 --- a/src/backends/backendsCommon/MemoryOptimizerStrategyLibrary.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// -// Copyright © 2021 Arm Ltd and Contributors. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "MemoryOptimizerStrategyLibrary.hpp" -#include "MemoryOptimizerStrategyFactory.hpp" - -#include <armnn/BackendHelper.hpp> -#include <armnn/Logging.hpp> -#include <armnn/TypesUtils.hpp> - -#include <armnn/backends/IMemoryOptimizerStrategy.hpp> - -#include <backendsCommon/memoryOptimizationStrategies/ConstLayerMemoryOptimizerStrategy.hpp> - -#include <algorithm> - -namespace -{ -// Default Memory Optimizer Strategies -static const std::vector<std::string> memoryOptimizationStrategies({ - "ConstLayerMemoryOptimizerStrategy", - }); - -#define CREATE_MEMORY_OPTIMIZER_STRATEGY(strategyName, memoryOptimizerStrategy) \ -{ \ - MemoryOptimizerStrategyFactory memoryOptimizerStrategyFactory; \ - memoryOptimizerStrategy = memoryOptimizerStrategyFactory.CreateMemoryOptimizerStrategy<strategyName>(); \ -} \ - -} // anonymous namespace - -namespace armnn -{ - -bool MemoryOptimizerStrategyLibrary::SetMemoryOptimizerStrategy(const BackendId& id, const std::string& strategyName) -{ - auto isStrategyExist = std::find(memoryOptimizationStrategies.begin(), - memoryOptimizationStrategies.end(), - strategyName) != memoryOptimizationStrategies.end(); - if (isStrategyExist) - { - std::shared_ptr<IMemoryOptimizerStrategy> memoryOptimizerStrategy = nullptr; - CREATE_MEMORY_OPTIMIZER_STRATEGY(armnn::ConstLayerMemoryOptimizerStrategy, - memoryOptimizerStrategy); - if (memoryOptimizerStrategy) - { - using BackendCapability = BackendOptions::BackendOption; - auto strategyType = GetMemBlockStrategyTypeName(memoryOptimizerStrategy->GetMemBlockStrategyType()); - BackendCapability memOptimizeStrategyCapability {strategyType, true}; - if (HasCapability(memOptimizeStrategyCapability, id)) - { - BackendRegistryInstance().RegisterMemoryOptimizerStrategy(id, memoryOptimizerStrategy); - return true; - } - // reset shared_ptr memoryOptimizerStrategy - memoryOptimizerStrategy.reset(); - } - } - ARMNN_LOG(warning) << "Backend " - << id - << " is not registered as does not support memory optimizer strategy " - << strategyName << " \n"; - return false; -} - -} // namespace armnn
\ No newline at end of file |