diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-06-26 11:00:21 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-06-30 08:39:55 +0000 |
commit | 3b90af6bb79639d3813f21f3c3017503ee0c66af (patch) | |
tree | c5cccdb45ed268a47f5b4c8ac39a389fe037597c /src/backends/reference/RefTensorHandleFactory.cpp | |
parent | c0761e9a82ec4d6bd4a81fda018d624659b629a7 (diff) | |
download | armnn-3b90af6bb79639d3813f21f3c3017503ee0c66af.tar.gz |
IVGCVSW-5036 Do not allocate memory when import is enabled
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ideaae5280702aae6c73f3b4e4cee9f71a8386fda
Diffstat (limited to 'src/backends/reference/RefTensorHandleFactory.cpp')
-rw-r--r-- | src/backends/reference/RefTensorHandleFactory.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/backends/reference/RefTensorHandleFactory.cpp b/src/backends/reference/RefTensorHandleFactory.cpp index d687c78b17..ade27dd733 100644 --- a/src/backends/reference/RefTensorHandleFactory.cpp +++ b/src/backends/reference/RefTensorHandleFactory.cpp @@ -29,14 +29,42 @@ std::unique_ptr<ITensorHandle> RefTensorHandleFactory::CreateSubTensorHandle(ITe std::unique_ptr<ITensorHandle> RefTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo) const { - return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager, m_ImportFlags); + return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager); } std::unique_ptr<ITensorHandle> RefTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo, DataLayout dataLayout) const { IgnoreUnused(dataLayout); - return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager, m_ImportFlags); + return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager); +} + +std::unique_ptr<ITensorHandle> RefTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo, + const bool IsMemoryManaged) const +{ + if (IsMemoryManaged) + { + return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager); + } + else + { + return std::make_unique<RefTensorHandle>(tensorInfo, m_ImportFlags); + } +} + +std::unique_ptr<ITensorHandle> RefTensorHandleFactory::CreateTensorHandle(const TensorInfo& tensorInfo, + DataLayout dataLayout, + const bool IsMemoryManaged) const +{ + IgnoreUnused(dataLayout); + if (IsMemoryManaged) + { + return std::make_unique<RefTensorHandle>(tensorInfo, m_MemoryManager); + } + else + { + return std::make_unique<RefTensorHandle>(tensorInfo, m_ImportFlags); + } } const FactoryId& RefTensorHandleFactory::GetId() const |