diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-10-30 16:06:55 +0000 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-10-30 18:29:37 +0000 |
commit | 265e53e61b472f7de9897b0dbcff1661e3f576cc (patch) | |
tree | a99253a1d9fe8297830be83accd6d7c08fe9b44f /src/backends/cl/ClTensorHandleFactory.cpp | |
parent | 25d80eed552df4d0346d1f245d1e6264d7b477f3 (diff) | |
download | armnn-265e53e61b472f7de9897b0dbcff1661e3f576cc.tar.gz |
IVGCVSW-5322 Fix segfault between Neon and Cl layers
* Fallback to memory copy if memory import is not supported
* Remove direct compatibility between Neon and Cl Tensors
* Unit tests fallback from Neon to Cl and Cl to Neon
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Iec00a77423fb23b37a6b1aefee1b2ec4d649efca
Diffstat (limited to 'src/backends/cl/ClTensorHandleFactory.cpp')
-rw-r--r-- | src/backends/cl/ClTensorHandleFactory.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backends/cl/ClTensorHandleFactory.cpp b/src/backends/cl/ClTensorHandleFactory.cpp index 33995f7b34..237f27a4ed 100644 --- a/src/backends/cl/ClTensorHandleFactory.cpp +++ b/src/backends/cl/ClTensorHandleFactory.cpp @@ -73,10 +73,11 @@ std::unique_ptr<ITensorHandle> ClTensorHandleFactory::CreateTensorHandle(const T const bool IsMemoryManaged) const { std::unique_ptr<ClTensorHandle> tensorHandle = std::make_unique<ClTensorHandle>(tensorInfo); - if (IsMemoryManaged) + if (!IsMemoryManaged) { - tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + ARMNN_LOG(warning) << "ClTensorHandleFactory only has support for memory managed."; } + tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); return tensorHandle; } @@ -85,10 +86,11 @@ std::unique_ptr<ITensorHandle> ClTensorHandleFactory::CreateTensorHandle(const T const bool IsMemoryManaged) const { std::unique_ptr<ClTensorHandle> tensorHandle = std::make_unique<ClTensorHandle>(tensorInfo, dataLayout); - if (IsMemoryManaged) + if (!IsMemoryManaged) { - tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + ARMNN_LOG(warning) << "ClTensorHandleFactory only has support for memory managed."; } + tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); return tensorHandle; } |