diff options
Diffstat (limited to 'src/backends/backendsCommon')
11 files changed, 11 insertions, 159 deletions
diff --git a/src/backends/backendsCommon/BackendRegistry.cpp b/src/backends/backendsCommon/BackendRegistry.cpp deleted file mode 100644 index 7078304599..0000000000 --- a/src/backends/backendsCommon/BackendRegistry.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "BackendRegistry.hpp" -#include <armnn/Exceptions.hpp> - -namespace armnn -{ - -BackendRegistry& BackendRegistryInstance() -{ - static BackendRegistry instance; - return instance; -} - -void BackendRegistry::Register(const BackendId& id, BackendRegistry::FactoryFunction factory) -{ - if (m_Factories.find(id) != m_Factories.end()) - { - throw InvalidArgumentException( - std::string(id) + " already registered as IBackend factory", - CHECK_LOCATION()); - } - - m_Factories[id] = factory; -} - -bool BackendRegistry::IsBackendRegistered(const BackendId& id) const -{ - return (m_Factories.find(id) != m_Factories.end()); -} - -BackendRegistry::FactoryFunction BackendRegistry::GetFactory(const BackendId& id) const -{ - auto it = m_Factories.find(id); - if (it == m_Factories.end()) - { - throw InvalidArgumentException( - std::string(id) + " has no IBackend factory registered", - CHECK_LOCATION()); - } - - return it->second; -} - -size_t BackendRegistry::Size() const -{ - return m_Factories.size(); -} - -BackendIdSet BackendRegistry::GetBackendIds() const -{ - BackendIdSet result; - for (const auto& it : m_Factories) - { - result.insert(it.first); - } - return result; -} - -std::string BackendRegistry::GetBackendIdsAsString() const -{ - static const std::string delimitator = ", "; - - std::stringstream output; - for (auto& backendId : GetBackendIds()) - { - if (output.tellp() != std::streampos(0)) - { - output << delimitator; - } - output << backendId; - } - - return output.str(); -} - -void BackendRegistry::Swap(BackendRegistry& instance, BackendRegistry::FactoryStorage& other) -{ - std::swap(instance.m_Factories, other); -} - - -} // namespace armnn diff --git a/src/backends/backendsCommon/BackendRegistry.hpp b/src/backends/backendsCommon/BackendRegistry.hpp deleted file mode 100644 index 82e59d970b..0000000000 --- a/src/backends/backendsCommon/BackendRegistry.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// -#pragma once - -#include <armnn/Types.hpp> -#include <armnn/BackendId.hpp> - -#include <memory> -#include <unordered_map> -#include <functional> - -namespace armnn -{ - -class IBackendInternal; -using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>; - -class BackendRegistry -{ -public: - using PointerType = IBackendInternalUniquePtr; - using FactoryFunction = std::function<PointerType()>; - - void Register(const BackendId& id, FactoryFunction factory); - bool IsBackendRegistered(const BackendId& id) const; - FactoryFunction GetFactory(const BackendId& id) const; - size_t Size() const; - BackendIdSet GetBackendIds() const; - std::string GetBackendIdsAsString() const; - - BackendRegistry() {} - virtual ~BackendRegistry() {} - - struct StaticRegistryInitializer - { - StaticRegistryInitializer(BackendRegistry& instance, - const BackendId& id, - FactoryFunction factory) - { - instance.Register(id, factory); - } - }; - -protected: - using FactoryStorage = std::unordered_map<BackendId, FactoryFunction>; - - // For testing only - static void Swap(BackendRegistry& instance, FactoryStorage& other); - -private: - BackendRegistry(const BackendRegistry&) = delete; - BackendRegistry& operator=(const BackendRegistry&) = delete; - - FactoryStorage m_Factories; -}; - -BackendRegistry& BackendRegistryInstance(); - -} // namespace armnn diff --git a/src/backends/backendsCommon/CMakeLists.txt b/src/backends/backendsCommon/CMakeLists.txt index fc36365f99..d4947943ae 100644 --- a/src/backends/backendsCommon/CMakeLists.txt +++ b/src/backends/backendsCommon/CMakeLists.txt @@ -4,8 +4,6 @@ # list(APPEND armnnBackendsCommon_sources - BackendRegistry.cpp - BackendRegistry.hpp CpuTensorHandle.cpp CpuTensorHandleFwd.hpp CpuTensorHandle.hpp diff --git a/src/backends/backendsCommon/DynamicBackend.hpp b/src/backends/backendsCommon/DynamicBackend.hpp index 34c001958d..f888b1e27e 100644 --- a/src/backends/backendsCommon/DynamicBackend.hpp +++ b/src/backends/backendsCommon/DynamicBackend.hpp @@ -6,7 +6,8 @@ #pragma once #include "IBackendInternal.hpp" -#include "BackendRegistry.hpp" + +#include <armnn/BackendRegistry.hpp> #include <functional> #include <memory> diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index 34e4cbe579..31ad5cb45a 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -6,15 +6,14 @@ #include "CpuTensorHandle.hpp" #include "WorkloadFactory.hpp" - #include <Layer.hpp> #include <LayersFwd.hpp> #include <armnn/Types.hpp> #include <armnn/LayerSupport.hpp> #include <armnn/ILayerSupport.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/WorkloadFactory.hpp> #include <backendsCommon/IBackendInternal.hpp> #include <backendsCommon/test/WorkloadTestUtils.hpp> diff --git a/src/backends/backendsCommon/common.mk b/src/backends/backendsCommon/common.mk index de0da68149..34040d67f9 100644 --- a/src/backends/backendsCommon/common.mk +++ b/src/backends/backendsCommon/common.mk @@ -8,7 +8,6 @@ # file in the root of ArmNN COMMON_SOURCES := \ - BackendRegistry.cpp \ CpuTensorHandle.cpp \ DynamicBackend.cpp \ DynamicBackendUtils.cpp \ diff --git a/src/backends/backendsCommon/test/BackendRegistryTests.cpp b/src/backends/backendsCommon/test/BackendRegistryTests.cpp index 283caafaf9..e1ab7ecb82 100644 --- a/src/backends/backendsCommon/test/BackendRegistryTests.cpp +++ b/src/backends/backendsCommon/test/BackendRegistryTests.cpp @@ -4,8 +4,8 @@ // #include <armnn/Types.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendInternal.hpp> #include <boost/test/unit_test.hpp> diff --git a/src/backends/backendsCommon/test/CommonTestUtils.hpp b/src/backends/backendsCommon/test/CommonTestUtils.hpp index 58bd6b197f..e96edc8317 100644 --- a/src/backends/backendsCommon/test/CommonTestUtils.hpp +++ b/src/backends/backendsCommon/test/CommonTestUtils.hpp @@ -9,8 +9,9 @@ #include <SubgraphView.hpp> #include <SubgraphViewSelector.hpp> +#include <armnn/BackendRegistry.hpp> + #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <test/TestUtils.hpp> @@ -73,4 +74,4 @@ armnn::TensorShape MakeTensorShape(unsigned int batches, unsigned int channels, unsigned int height, unsigned int width, - armnn::DataLayout layout);
\ No newline at end of file + armnn::DataLayout layout); diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.hpp b/src/backends/backendsCommon/test/DynamicBackendTests.hpp index 4a7ab19d54..2615bdc066 100644 --- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp +++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp @@ -7,10 +7,10 @@ #include <backendsCommon/DynamicBackend.hpp> #include <backendsCommon/DynamicBackendUtils.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/CpuTensorHandle.hpp> #include <armnn/ILayerSupport.hpp> +#include <armnn/BackendRegistry.hpp> #include <reference/workloads/RefConvolution2dWorkload.hpp> diff --git a/src/backends/backendsCommon/test/MockBackend.cpp b/src/backends/backendsCommon/test/MockBackend.cpp index 043b5125c7..4fb692ca63 100644 --- a/src/backends/backendsCommon/test/MockBackend.cpp +++ b/src/backends/backendsCommon/test/MockBackend.cpp @@ -6,9 +6,10 @@ #include "MockBackend.hpp" #include "MockBackendId.hpp" +#include <armnn/BackendRegistry.hpp> + #include <backendsCommon/IBackendContext.hpp> #include <backendsCommon/IMemoryManager.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <Optimizer.hpp> #include <SubgraphViewSelector.hpp> diff --git a/src/backends/backendsCommon/test/OptimizeSubgraphViewTests.cpp b/src/backends/backendsCommon/test/OptimizeSubgraphViewTests.cpp index a6e835612b..7cb5ded773 100644 --- a/src/backends/backendsCommon/test/OptimizeSubgraphViewTests.cpp +++ b/src/backends/backendsCommon/test/OptimizeSubgraphViewTests.cpp @@ -10,7 +10,7 @@ #include <Graph.hpp> #include <Network.hpp> -#include <backendsCommon/BackendRegistry.hpp> +#include <armnn/BackendRegistry.hpp> #include <boost/test/unit_test.hpp> |