// // Copyright © 2020 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include #include #include "SampleDynamicAdditionWorkload.hpp" #include "SampleDynamicBackend.hpp" #include "SampleDynamicWorkloadFactory.hpp" #include "SampleTensorHandle.hpp" namespace sdb // sample dynamic backend { namespace { static const armnn::BackendId s_Id{ GetBackendId() }; } SampleDynamicWorkloadFactory::SampleDynamicWorkloadFactory(const std::shared_ptr& memoryManager) : m_MemoryManager(memoryManager) { } SampleDynamicWorkloadFactory::SampleDynamicWorkloadFactory() : m_MemoryManager(new SampleMemoryManager()) { } const armnn::BackendId& SampleDynamicWorkloadFactory::GetBackendId() const { return s_Id; } bool SampleDynamicWorkloadFactory::IsLayerSupported(const armnn::IConnectableLayer& layer, armnn::Optional dataType, std::string& outReasonIfUnsupported) { return IWorkloadFactory::IsLayerSupported(s_Id, layer, dataType, outReasonIfUnsupported); } std::unique_ptr SampleDynamicWorkloadFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo, const bool isMemoryManaged) const { return std::make_unique(tensorInfo); } std::unique_ptr SampleDynamicWorkloadFactory::CreateTensorHandle( const armnn::TensorInfo& tensorInfo, armnn::DataLayout dataLayout, const bool isMemoryManaged) const { return std::make_unique(tensorInfo); } std::unique_ptr SampleDynamicWorkloadFactory::CreateAddition( const armnn::AdditionQueueDescriptor& descriptor, const armnn::WorkloadInfo& info) const { return std::make_unique(descriptor, info); } std::unique_ptr SampleDynamicWorkloadFactory::CreateInput( const armnn::InputQueueDescriptor& descriptor, const armnn::WorkloadInfo& info) const { return std::make_unique(descriptor, info); } std::unique_ptr SampleDynamicWorkloadFactory::CreateOutput( const armnn::OutputQueueDescriptor& descriptor, const armnn::WorkloadInfo& info) const { return std::make_unique(descriptor, info); } } // namespace sdb