aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/IBackendInternal.hpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-11-12 18:10:43 +0000
committerAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-11-13 14:41:52 +0000
commit56055193e82471a70b82e4eb11a8884c5904af75 (patch)
treebf66d0ba0088d963def8485c7e894b12d7a65b82 /src/backends/backendsCommon/IBackendInternal.hpp
parent95807cef855738ca481ace30f32ed9f245a098dd (diff)
downloadarmnn-56055193e82471a70b82e4eb11a8884c5904af75.tar.gz
IVGCVSW-2066: Add IMemoryManager and integrate into the backends framework
Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05
Diffstat (limited to 'src/backends/backendsCommon/IBackendInternal.hpp')
-rw-r--r--src/backends/backendsCommon/IBackendInternal.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backends/backendsCommon/IBackendInternal.hpp b/src/backends/backendsCommon/IBackendInternal.hpp
index 9d649fcfe2..b102d1a1f9 100644
--- a/src/backends/backendsCommon/IBackendInternal.hpp
+++ b/src/backends/backendsCommon/IBackendInternal.hpp
@@ -12,6 +12,7 @@ namespace armnn
{
class IWorkloadFactory;
class IBackendContext;
+class IMemoryManager;
class Optimization;
class ILayerSupport;
@@ -33,8 +34,16 @@ public:
using Optimizations = std::vector<OptimizationPtr>;
using ILayerSupportSharedPtr = std::shared_ptr<ILayerSupport>;
- virtual IWorkloadFactoryPtr CreateWorkloadFactory() const = 0;
+ using IMemoryManagerUniquePtr = std::unique_ptr<IMemoryManager>;
+ using IMemoryManagerSharedPtr = std::shared_ptr<IMemoryManager>;
+
+ virtual IMemoryManagerUniquePtr CreateMemoryManager() const = 0;
+
+ virtual IWorkloadFactoryPtr CreateWorkloadFactory(
+ const IMemoryManagerSharedPtr& memoryManager = nullptr) const = 0;
+
virtual IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const = 0;
+
virtual Optimizations GetOptimizations() const = 0;
virtual ILayerSupportSharedPtr GetLayerSupport() const = 0;
};