IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
diff --git a/src/armnn/LoadedNetwork.cpp b/src/armnn/LoadedNetwork.cpp
index a81528a..f5f79f3 100644
--- a/src/armnn/LoadedNetwork.cpp
+++ b/src/armnn/LoadedNetwork.cpp
@@ -99,7 +99,7 @@
{
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 @@
memoryManager->Acquire();
}
}
+ m_TensorHandleFactoryRegistry.AquireMemory();
m_IsWorkingMemAllocated = true;
}
@@ -510,6 +511,7 @@
memoryManager->Release();
}
}
+ m_TensorHandleFactoryRegistry.ReleaseMemory();
m_IsWorkingMemAllocated = false;
}
diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index 261613c..01755c4 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -33,6 +33,12 @@
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 f8f9df5..3296d81 100644
--- a/src/backends/backendsCommon/IBackendInternal.hpp
+++ b/src/backends/backendsCommon/IBackendInternal.hpp
@@ -108,6 +108,9 @@
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;