// // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "SampleDynamicTensorHandleFactory.hpp" #include "SampleTensorHandle.hpp" #include namespace sdb // sample dynamic backend { using FactoryId = armnn::ITensorHandleFactory::FactoryId; const FactoryId& SampleDynamicTensorHandleFactory::GetIdStatic() { static const FactoryId s_Id(SampleDynamicTensorHandleFactoryId()); return s_Id; } std::unique_ptr SampleDynamicTensorHandleFactory::CreateSubTensorHandle(armnn::ITensorHandle& parent, armnn::TensorShape const& subTensorShape, unsigned int const* subTensorOrigin) const { IgnoreUnused(parent, subTensorShape, subTensorOrigin); return nullptr; } std::unique_ptr SampleDynamicTensorHandleFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo) const { return std::make_unique(tensorInfo, m_MemoryManager); } std::unique_ptr SampleDynamicTensorHandleFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo, armnn::DataLayout dataLayout) const { IgnoreUnused(dataLayout); return std::make_unique(tensorInfo, m_MemoryManager); } std::unique_ptr SampleDynamicTensorHandleFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo, const bool IsMemoryManaged) const { if (IsMemoryManaged) { return std::make_unique(tensorInfo, m_MemoryManager); } else { return std::make_unique(tensorInfo, m_ImportFlags); } } std::unique_ptr SampleDynamicTensorHandleFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo, armnn::DataLayout dataLayout, const bool IsMemoryManaged) const { IgnoreUnused(dataLayout); if (IsMemoryManaged) { return std::make_unique(tensorInfo, m_MemoryManager); } else { return std::make_unique(tensorInfo, m_ImportFlags); } } const FactoryId& SampleDynamicTensorHandleFactory::GetId() const { return GetIdStatic(); } bool SampleDynamicTensorHandleFactory::SupportsSubTensors() const { return false; } armnn::MemorySourceFlags SampleDynamicTensorHandleFactory::GetExportFlags() const { return m_ExportFlags; } armnn::MemorySourceFlags SampleDynamicTensorHandleFactory::GetImportFlags() const { return m_ImportFlags; } } // namespace sdb