aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-08-13 10:26:53 +0100
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-08-13 11:40:41 +0100
commit11bd26133423f5076e74a08752954819de56eb26 (patch)
tree9df1038cb7141cbc2a135e92b5c89a39b37b81b8
parentf97a5de03fb431127a141eff58b7b7e61a6aaa6a (diff)
downloadarmnn-11bd26133423f5076e74a08752954819de56eb26.tar.gz
IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
-rw-r--r--src/armnn/LoadedNetwork.cpp4
-rw-r--r--src/backends/backendsCommon/IBackendInternal.cpp6
-rw-r--r--src/backends/backendsCommon/IBackendInternal.hpp3
3 files changed, 12 insertions, 1 deletions
diff --git a/src/armnn/LoadedNetwork.cpp b/src/armnn/LoadedNetwork.cpp
index a81528aa65..f5f79f3940 100644
--- a/src/armnn/LoadedNetwork.cpp
+++ b/src/armnn/LoadedNetwork.cpp
@@ -99,7 +99,7 @@ LoadedNetwork::LoadedNetwork(std::unique_ptr<OptimizedNetwork> net)
{
backend->RegisterTensorHandleFactories(m_TensorHandleFactoryRegistry);
- auto workloadFactory = backend->CreateWorkloadFactory();
+ auto workloadFactory = backend->CreateWorkloadFactory(m_TensorHandleFactoryRegistry);
m_WorkloadFactories.emplace(
std::make_pair(backendId, std::make_pair(std::move(workloadFactory), nullptr)));
}
@@ -491,6 +491,7 @@ void LoadedNetwork::AllocateWorkingMemory()
memoryManager->Acquire();
}
}
+ m_TensorHandleFactoryRegistry.AquireMemory();
m_IsWorkingMemAllocated = true;
}
@@ -510,6 +511,7 @@ void LoadedNetwork::FreeWorkingMemory()
memoryManager->Release();
}
}
+ m_TensorHandleFactoryRegistry.ReleaseMemory();
m_IsWorkingMemAllocated = false;
}
diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index 261613c490..01755c4b92 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -33,6 +33,12 @@ IMemoryManagerUniquePtr IBackendInternal::CreateMemoryManager() const
return IMemoryManagerUniquePtr();
}
+IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
+ class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const
+{
+ return IWorkloadFactoryPtr{};
+}
+
IBackendInternal::IBackendContextPtr IBackendInternal::CreateBackendContext(const IRuntime::CreationOptions&) const
{
return IBackendContextPtr{};
diff --git a/src/backends/backendsCommon/IBackendInternal.hpp b/src/backends/backendsCommon/IBackendInternal.hpp
index f8f9df5beb..3296d81b7c 100644
--- a/src/backends/backendsCommon/IBackendInternal.hpp
+++ b/src/backends/backendsCommon/IBackendInternal.hpp
@@ -108,6 +108,9 @@ public:
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;