diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-08-13 10:26:53 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-08-13 11:40:41 +0100 |
commit | 11bd26133423f5076e74a08752954819de56eb26 (patch) | |
tree | 9df1038cb7141cbc2a135e92b5c89a39b37b81b8 /src | |
parent | f97a5de03fb431127a141eff58b7b7e61a6aaa6a (diff) | |
download | armnn-11bd26133423f5076e74a08752954819de56eb26.tar.gz |
IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
Diffstat (limited to 'src')
-rw-r--r-- | src/armnn/LoadedNetwork.cpp | 4 | ||||
-rw-r--r-- | src/backends/backendsCommon/IBackendInternal.cpp | 6 | ||||
-rw-r--r-- | src/backends/backendsCommon/IBackendInternal.hpp | 3 |
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; |