// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include #include #include #include namespace { template<> struct WorkloadFactoryHelper { static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager() { armnn::ClBackend backend; return backend.CreateMemoryManager(); } static armnn::ClWorkloadFactory GetFactory( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { return armnn::ClWorkloadFactory(armnn::PolymorphicPointerDowncast(memoryManager)); } static armnn::ClTensorHandleFactory GetTensorHandleFactory( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) { return armnn::ClTensorHandleFactory(armnn::PolymorphicPointerDowncast(memoryManager)); } }; using ClWorkloadFactoryHelper = WorkloadFactoryHelper; } // anonymous namespace