diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-07-10 17:50:53 +0100 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2020-07-13 09:17:43 +0000 |
commit | 549cb7ad5fe0686a5216557ef7ee21b520bf7936 (patch) | |
tree | 34c1ff0c8933cb72129d8b8d30d6e814c272841c /src/backends | |
parent | 87d0bda9b49d9df4455f1887027e5ead2527c27e (diff) | |
download | armnn-549cb7ad5fe0686a5216557ef7ee21b520bf7936.tar.gz |
IVGCVSW-5078 Fix segmentation fault on Yolo V3 Big App
* Register TensorHandleFactories when create Workload Factory
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I6217c6f00d27b67e42b8043cbaf72d9db5789bfb
Diffstat (limited to 'src/backends')
-rw-r--r-- | src/backends/cl/ClBackend.cpp | 1 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.cpp | 2 | ||||
-rw-r--r-- | src/backends/reference/RefBackend.cpp | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 0a898ec2c0..f9a8993baf 100644 --- a/src/backends/cl/ClBackend.cpp +++ b/src/backends/cl/ClBackend.cpp @@ -50,6 +50,7 @@ IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory( auto memoryManager = std::make_shared<ClMemoryManager>(std::make_unique<arm_compute::CLBufferAllocator>()); registry.RegisterMemoryManager(memoryManager); + registry.RegisterFactory(std::make_unique<ClTensorHandleFactory>(memoryManager)); return std::make_unique<ClWorkloadFactory>( PolymorphicPointerDowncast<ClMemoryManager>(memoryManager)); diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index 841ed27006..01cc6d8119 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -53,6 +53,8 @@ IBackendInternal::IWorkloadFactoryPtr NeonBackend::CreateWorkloadFactory( BaseMemoryManager::MemoryAffinity::Offset); tensorHandleFactoryRegistry.RegisterMemoryManager(memoryManager); + tensorHandleFactoryRegistry.RegisterFactory(std::make_unique<NeonTensorHandleFactory>(memoryManager)); + return std::make_unique<NeonWorkloadFactory>( PolymorphicPointerDowncast<NeonMemoryManager>(memoryManager)); } diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index 590fde3e16..e93b317dce 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -37,6 +37,7 @@ IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory( auto memoryManager = std::make_shared<RefMemoryManager>(); tensorHandleFactoryRegistry.RegisterMemoryManager(memoryManager); + tensorHandleFactoryRegistry.RegisterFactory(std::make_unique<RefTensorHandleFactory>(memoryManager)); return std::make_unique<RefWorkloadFactory>(PolymorphicPointerDowncast<RefMemoryManager>(memoryManager)); } |