diff options
author | David Monahan <david.monahan@arm.com> | 2019-08-20 11:25:29 +0100 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2019-09-24 10:50:30 +0000 |
commit | 3fb7e105ae62cbfb3ebf1edebb90e2b6672b22aa (patch) | |
tree | 47793a736e1fb53d51b4c0fd755f4e24f7f93d98 /src/backends/neon/NeonTensorHandleFactory.cpp | |
parent | 93667b1d7c361df68bdb1d733f17aba3ba34e046 (diff) | |
download | armnn-3fb7e105ae62cbfb3ebf1edebb90e2b6672b22aa.tar.gz |
IVGCVSW-3623 Implement NeonTensorHandle::Import
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc
Diffstat (limited to 'src/backends/neon/NeonTensorHandleFactory.cpp')
-rw-r--r-- | src/backends/neon/NeonTensorHandleFactory.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/backends/neon/NeonTensorHandleFactory.cpp b/src/backends/neon/NeonTensorHandleFactory.cpp index ff4e238cd8..8296b8315c 100644 --- a/src/backends/neon/NeonTensorHandleFactory.cpp +++ b/src/backends/neon/NeonTensorHandleFactory.cpp @@ -39,19 +39,33 @@ std::unique_ptr<ITensorHandle> NeonTensorHandleFactory::CreateSubTensorHandle(IT boost::polymorphic_downcast<IAclTensorHandle*>(&parent), shape, coords); } -std::unique_ptr<ITensorHandle> NeonTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo) const +std::unique_ptr<ITensorHandle> NeonTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo, + const bool IsMemoryManaged) const { auto tensorHandle = std::make_unique<NeonTensorHandle>(tensorInfo); - tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + if (IsMemoryManaged) + { + tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + } + // If we are not Managing the Memory then we must be importing + tensorHandle->SetImportEnabledFlag(!IsMemoryManaged); + tensorHandle->SetImportFlags(m_ImportFlags); return tensorHandle; } std::unique_ptr<ITensorHandle> NeonTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo, - DataLayout dataLayout) const + DataLayout dataLayout, + const bool IsMemoryManaged) const { auto tensorHandle = std::make_unique<NeonTensorHandle>(tensorInfo, dataLayout); - tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + if (IsMemoryManaged) + { + tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup()); + } + // If we are not Managing the Memory then we must be importing + tensorHandle->SetImportEnabledFlag(!IsMemoryManaged); + tensorHandle->SetImportFlags(m_ImportFlags); return tensorHandle; } |