aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/ClTensorHandleFactory.cpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-10-30 16:06:55 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-10-30 18:29:37 +0000
commit265e53e61b472f7de9897b0dbcff1661e3f576cc (patch)
treea99253a1d9fe8297830be83accd6d7c08fe9b44f /src/backends/cl/ClTensorHandleFactory.cpp
parent25d80eed552df4d0346d1f245d1e6264d7b477f3 (diff)
downloadarmnn-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.cpp10
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;
}