// // 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 armnn { namespace { static const BackendId s_Id{ GetBackendId() }; } SampleDynamicWorkloadFactory::SampleDynamicWorkloadFactory(const std::shared_ptr& memoryManager) : m_MemoryManager(memoryManager) { } SampleDynamicWorkloadFactory::SampleDynamicWorkloadFactory() : m_MemoryManager(new SampleMemoryManager()) { } const BackendId& SampleDynamicWorkloadFactory::GetBackendId() const { return s_Id; } bool SampleDynamicWorkloadFactory::IsLayerSupported(const IConnectableLayer& layer, Optional dataType, std::string& outReasonIfUnsupported) { return IWorkloadFactory::IsLayerSupported(s_Id, layer, dataType, outReasonIfUnsupported); } std::unique_ptr SampleDynamicWorkloadFactory::CreateTensorHandle(const TensorInfo& tensorInfo, const bool isMemoryManaged) const { return std::make_unique(tensorInfo); } std::unique_ptr SampleDynamicWorkloadFactory::CreateTensorHandle(const TensorInfo& tensorInfo, DataLayout dataLayout, const bool isMemoryManaged) const { return std::make_unique(tensorInfo); } std::unique_ptr SampleDynamicWorkloadFactory::CreateAddition(const AdditionQueueDescriptor& descriptor, const WorkloadInfo& info) const { return std::make_unique(descriptor, info); } std::unique_ptr SampleDynamicWorkloadFactory::CreateInput(const InputQueueDescriptor& descriptor, const WorkloadInfo& info) const { return std::make_unique(descriptor, info); } std::unique_ptr SampleDynamicWorkloadFactory::CreateOutput(const OutputQueueDescriptor& descriptor, const WorkloadInfo& info) const { return std::make_unique(descriptor, info); } } // namespace armnn