aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/IBackendInternal.hpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-11-28 15:45:42 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-12-09 12:00:04 +0000
commite5b8eb9fe8147a0849db08ef0898a0e8bef920b4 (patch)
tree54f039796753b6a395eb9f76e46e11a9413dabad /src/backends/backendsCommon/IBackendInternal.hpp
parent3e2969d7195d77796774101580b837681505904a (diff)
downloadarmnn-e5b8eb9fe8147a0849db08ef0898a0e8bef920b4.tar.gz
IVGCVSW-4210 Create a public API for the common backend files
* Create a public API for the common backend files * Move OutputHandler to armnn internal * Remove unused headers Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0
Diffstat (limited to 'src/backends/backendsCommon/IBackendInternal.hpp')
-rw-r--r--src/backends/backendsCommon/IBackendInternal.hpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/backends/backendsCommon/IBackendInternal.hpp b/src/backends/backendsCommon/IBackendInternal.hpp
deleted file mode 100644
index 3296d81b7c..0000000000
--- a/src/backends/backendsCommon/IBackendInternal.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include <armnn/Types.hpp>
-#include <armnn/IRuntime.hpp>
-#include <armnn/Deprecated.hpp>
-
-#include <ISubgraphViewConverter.hpp>
-#include <SubgraphView.hpp>
-#include <optimizations/Optimization.hpp>
-
-#include "IBackendContext.hpp"
-#include "IMemoryManager.hpp"
-#include "ITensorHandleFactory.hpp"
-#include "OptimizationViews.hpp"
-
-#include <vector>
-#include <memory>
-
-namespace armnn
-{
-class IWorkloadFactory;
-class IMemoryManager;
-class ILayerSupport;
-
-struct BackendVersion
-{
- uint32_t m_Major;
- uint32_t m_Minor;
-
- constexpr BackendVersion()
- : m_Major(0)
- , m_Minor(0)
- {}
- constexpr BackendVersion(uint32_t major, uint32_t minor)
- : m_Major(major)
- , m_Minor(minor)
- {}
-
- bool operator==(const BackendVersion& other) const
- {
- return this == &other ||
- (this->m_Major == other.m_Major &&
- this->m_Minor == other.m_Minor);
- }
-
- bool operator<=(const BackendVersion& other) const
- {
- return this->m_Major < other.m_Major ||
- (this->m_Major == other.m_Major &&
- this->m_Minor <= other.m_Minor);
- }
-};
-
-inline std::ostream& operator<<(std::ostream& os, const BackendVersion& backendVersion)
-{
- os << "[" << backendVersion.m_Major << "." << backendVersion.m_Minor << "]";
-
- return os;
-}
-
-class IBackendInternal : public IBackend
-{
-protected:
- // Creation must be done through a specific
- // backend interface.
- IBackendInternal() = default;
-
-public:
- // Allow backends created by the factory function
- // to be destroyed through IBackendInternal.
- ~IBackendInternal() override = default;
-
- using IWorkloadFactoryPtr = std::unique_ptr<IWorkloadFactory>;
- using IBackendContextPtr = std::unique_ptr<IBackendContext>;
- using OptimizationPtr = std::unique_ptr<Optimization>;
- using Optimizations = std::vector<OptimizationPtr>;
- using ILayerSupportSharedPtr = std::shared_ptr<ILayerSupport>;
-
- using IMemoryManagerUniquePtr = std::unique_ptr<IMemoryManager>;
- using IMemoryManagerSharedPtr = std::shared_ptr<IMemoryManager>;
-
- using GraphUniquePtr = std::unique_ptr<Graph>;
- using SubgraphViewUniquePtr = std::unique_ptr<SubgraphView>;
-
- ARMNN_NO_DEPRECATE_WARN_BEGIN
- using ISubGraphConverterPtr ARMNN_DEPRECATED_MSG("This type is no longer supported")
- = std::unique_ptr<ISubGraphConverter>;
- using SubGraphUniquePtr ARMNN_DEPRECATED_MSG("SubGraph is deprecated, use SubgraphView instead")
- = std::unique_ptr<SubGraph>;
-
- ARMNN_DEPRECATED_MSG("This method is no longer supported")
- virtual ISubGraphConverterPtr CreateSubGraphConverter(const std::shared_ptr<SubGraph>& subGraph) const;
-
- ARMNN_DEPRECATED_MSG("Use \"OptimizationViews OptimizeSubgraphView(const SubgraphView&)\" instead")
- virtual Optimizations GetOptimizations() const;
-
- ARMNN_DEPRECATED_MSG("Use \"OptimizationViews OptimizeSubgraphView(const SubgraphView&)\" instead")
- virtual SubGraphUniquePtr OptimizeSubGraph(const SubGraph& subGraph, bool& optimizationAttempted) const;
- ARMNN_NO_DEPRECATE_WARN_END
-
- virtual IMemoryManagerUniquePtr CreateMemoryManager() const;
-
- virtual IWorkloadFactoryPtr CreateWorkloadFactory(
- const IMemoryManagerSharedPtr& memoryManager = nullptr) const = 0;
-
- virtual IWorkloadFactoryPtr CreateWorkloadFactory(
- class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const;
-
- virtual IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const;
-
- virtual ILayerSupportSharedPtr GetLayerSupport() const = 0;
-
- virtual OptimizationViews OptimizeSubgraphView(const SubgraphView& subgraph) const;
-
- bool SupportsTensorAllocatorAPI() const;
-
- ITensorHandleFactory::FactoryId GetBackwardCompatibleFavoriteHandleFactory();
-
- /// (Optional) Returns a vector of supported TensorHandleFactory ids in preference order.
- virtual std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const;
-
- /// (Optional) Register TensorHandleFactories
- /// Either this method or CreateMemoryManager() and
- /// IWorkloadFactory::CreateTensor()/IWorkloadFactory::CreateSubtensor() methods must be implemented.
- virtual void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) {}
-
- /// Returns the version of the Backend API
- static constexpr BackendVersion GetApiVersion() { return BackendVersion(1, 0); }
-};
-
-using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>;
-
-} // namespace armnn