diff options
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 |