diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-10-29 15:03:22 +0000 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-10-31 12:52:00 +0000 |
commit | c601aa626dac78e1482a258e493a6c186e6bf514 (patch) | |
tree | dac6879d548571527fdd6dee9a7400f331583fdf /src | |
parent | d90530719f6ab16417eb95d885317f50c662725f (diff) | |
download | armnn-c601aa626dac78e1482a258e493a6c186e6bf514.tar.gz |
GitHub #292 Move BackendRegistry.hpp to the public API
* Moved to BackendRegistry.hpp include/armnn
* Updated makefiles and sources accordingly
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
Diffstat (limited to 'src')
28 files changed, 48 insertions, 103 deletions
diff --git a/src/armnn/BackendHelper.cpp b/src/armnn/BackendHelper.cpp index 2514038863..673950e4e3 100644 --- a/src/armnn/BackendHelper.cpp +++ b/src/armnn/BackendHelper.cpp @@ -4,8 +4,9 @@ // #include <armnn/BackendHelper.hpp> -#include "backendsCommon/BackendRegistry.hpp" -#include "backendsCommon/IBackendInternal.hpp" +#include <armnn/BackendRegistry.hpp> + +#include <backendsCommon/IBackendInternal.hpp> namespace armnn { diff --git a/src/backends/backendsCommon/BackendRegistry.cpp b/src/armnn/BackendRegistry.cpp index 7078304599..45f73b8daf 100644 --- a/src/backends/backendsCommon/BackendRegistry.cpp +++ b/src/armnn/BackendRegistry.cpp @@ -3,7 +3,7 @@ // SPDX-License-Identifier: MIT // -#include "BackendRegistry.hpp" +#include <armnn/BackendRegistry.hpp> #include <armnn/Exceptions.hpp> namespace armnn diff --git a/src/armnn/LayerSupport.cpp b/src/armnn/LayerSupport.cpp index 997b5f245a..7b9ada9150 100644 --- a/src/armnn/LayerSupport.cpp +++ b/src/armnn/LayerSupport.cpp @@ -2,11 +2,12 @@ // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // + #include <armnn/LayerSupport.hpp> #include <armnn/Optional.hpp> #include <armnn/ILayerSupport.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendInternal.hpp> #include <boost/assert.hpp> diff --git a/src/armnn/LoadedNetwork.cpp b/src/armnn/LoadedNetwork.cpp index 5e3e3f24fe..e9a3545e35 100644 --- a/src/armnn/LoadedNetwork.cpp +++ b/src/armnn/LoadedNetwork.cpp @@ -11,8 +11,9 @@ #include "Profiling.hpp" #include "HeapProfiling.hpp" +#include <armnn/BackendRegistry.hpp> + #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IMemoryManager.hpp> #include <backendsCommon/MemCopyWorkload.hpp> #include <backendsCommon/MemSyncWorkload.hpp> diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 1339a6ef6b..a708361a91 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -14,13 +14,13 @@ #include <backendsCommon/CpuTensorHandle.hpp> #include <backendsCommon/WorkloadFactory.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendInternal.hpp> #include <backendsCommon/TensorHandleFactoryRegistry.hpp> #include <armnn/Exceptions.hpp> #include <armnn/Utils.hpp> #include <armnn/TypesUtils.hpp> +#include <armnn/BackendRegistry.hpp> #include <fcntl.h> #include <algorithm> diff --git a/src/armnn/NetworkUtils.cpp b/src/armnn/NetworkUtils.cpp index a3760a9c6b..cfed6680ca 100644 --- a/src/armnn/NetworkUtils.cpp +++ b/src/armnn/NetworkUtils.cpp @@ -8,8 +8,7 @@ #include "SubgraphViewSelector.hpp" #include <armnn/Exceptions.hpp> - -#include <backendsCommon/BackendRegistry.hpp> +#include <armnn/BackendRegistry.hpp> namespace armnn { diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index 68975a2191..c95b2c45e2 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -5,8 +5,8 @@ #include "Runtime.hpp" #include <armnn/Version.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendContext.hpp> #include <backendsCommon/DynamicBackendUtils.hpp> diff --git a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp index 0c6428012b..9a305bf361 100644 --- a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp +++ b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp @@ -5,27 +5,29 @@ #pragma once +#include "Schema.hpp" + #include <armnn/Descriptors.hpp> #include <armnn/IRuntime.hpp> #include <armnn/TypesUtils.hpp> +#include <armnn/BackendRegistry.hpp> -#include "Schema.hpp" -#include <boost/filesystem.hpp> -#include <boost/assert.hpp> -#include <boost/format.hpp> - -#include "test/TensorHelpers.hpp" +#include <armnnTfLiteParser/ITfLiteParser.hpp> #include <ResolveType.hpp> -#include "armnnTfLiteParser/ITfLiteParser.hpp" -#include <backendsCommon/BackendRegistry.hpp> +#include <test/TensorHelpers.hpp> + +#include <boost/filesystem.hpp> +#include <boost/assert.hpp> +#include <boost/format.hpp> #include "flatbuffers/idl.h" #include "flatbuffers/util.h" #include "flatbuffers/flexbuffers.h" #include <schema_generated.h> + #include <iostream> using armnnTfLiteParser::ITfLiteParser; diff --git a/src/backends/README.md b/src/backends/README.md index a75bc9cb28..4c59222097 100644 --- a/src/backends/README.md +++ b/src/backends/README.md @@ -125,7 +125,7 @@ The method ```OptimizationViews OptimizeSubgraph(const SubgraphView& subgraph)`` apply specific optimizations to a given sub-graph. The Arm NN framework then creates instances of the IBackendInternal interface with the help of the -[BackendRegistry](backendsCommon/BackendRegistry.hpp) singleton. +[BackendRegistry](../../include/armnn/BackendRegistry.hpp) singleton. **Important:** the ```IBackendInternal``` object is not guaranteed to have a longer lifetime than the objects it creates. It is only intended to be a single entry point for the factory functions it has. 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> diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 95ffbc48fd..2528a45b03 100644 --- a/src/backends/cl/ClBackend.cpp +++ b/src/backends/cl/ClBackend.cpp @@ -10,9 +10,10 @@ #include "ClLayerSupport.hpp" #include "ClTensorHandleFactory.hpp" +#include <armnn/BackendRegistry.hpp> + #include <aclCommon/BaseMemoryManager.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendContext.hpp> #include <backendsCommon/IMemoryManager.hpp> diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index f9540f27b0..be565a523a 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -7,11 +7,11 @@ #include "ClBackendId.hpp" #include <armnn/Descriptors.hpp> +#include <armnn/BackendRegistry.hpp> + #include <InternalTypes.hpp> #include <LayerSupportCommon.hpp> -#include <backendsCommon/BackendRegistry.hpp> - #include <boost/core/ignore_unused.hpp> #if defined(ARMCOMPUTECL_ENABLED) diff --git a/src/backends/cl/ClRegistryInitializer.cpp b/src/backends/cl/ClRegistryInitializer.cpp index 4d6f5f4a05..8decd6f689 100644 --- a/src/backends/cl/ClRegistryInitializer.cpp +++ b/src/backends/cl/ClRegistryInitializer.cpp @@ -5,7 +5,7 @@ #include "ClBackend.hpp" -#include <backendsCommon/BackendRegistry.hpp> +#include <armnn/BackendRegistry.hpp> namespace { diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index 63529c9693..5b005403f1 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -9,9 +9,10 @@ #include "NeonLayerSupport.hpp" #include "NeonTensorHandleFactory.hpp" +#include <armnn/BackendRegistry.hpp> + #include <aclCommon/BaseMemoryManager.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/IBackendContext.hpp> #include <backendsCommon/IMemoryManager.hpp> diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index cc96f63c1a..bc912ff9df 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -7,12 +7,12 @@ #include "NeonBackendId.hpp" #include <armnn/Descriptors.hpp> -#include <InternalTypes.hpp> -#include <LayerSupportCommon.hpp> #include <armnn/Tensor.hpp> #include <armnn/Types.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> +#include <InternalTypes.hpp> +#include <LayerSupportCommon.hpp> #include <boost/core/ignore_unused.hpp> diff --git a/src/backends/neon/NeonRegistryInitializer.cpp b/src/backends/neon/NeonRegistryInitializer.cpp index c74acae96b..fd2e84dd5f 100644 --- a/src/backends/neon/NeonRegistryInitializer.cpp +++ b/src/backends/neon/NeonRegistryInitializer.cpp @@ -5,7 +5,7 @@ #include "NeonBackend.hpp" -#include <backendsCommon/BackendRegistry.hpp> +#include <armnn/BackendRegistry.hpp> namespace { diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index 2b56416b31..10cd5e5752 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -9,9 +9,10 @@ #include "RefLayerSupport.hpp" #include "RefTensorHandleFactory.hpp" +#include <armnn/BackendRegistry.hpp> + #include <backendsCommon/IBackendContext.hpp> #include <backendsCommon/IMemoryManager.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <Optimizer.hpp> diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index c65886ba4d..59721582a3 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -12,8 +12,8 @@ #include <armnn/Types.hpp> #include <armnn/Descriptors.hpp> +#include <armnn/BackendRegistry.hpp> -#include <backendsCommon/BackendRegistry.hpp> #include <backendsCommon/LayerSupportRules.hpp> #include <backendsCommon/test/WorkloadTestUtils.hpp> diff --git a/src/backends/reference/RefRegistryInitializer.cpp b/src/backends/reference/RefRegistryInitializer.cpp index 427c7f01ab..a06bd8d949 100644 --- a/src/backends/reference/RefRegistryInitializer.cpp +++ b/src/backends/reference/RefRegistryInitializer.cpp @@ -5,7 +5,7 @@ #include "RefBackend.hpp" -#include <backendsCommon/BackendRegistry.hpp> +#include <armnn/BackendRegistry.hpp> namespace { |