// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include "ClBackend.hpp" #include "ClBackendId.hpp" #include "ClWorkloadFactory.hpp" #include "ClBackendContext.hpp" #include "ClLayerSupport.hpp" #include #include #include #include #include #include #include namespace armnn { namespace { static BackendRegistry::StaticRegistryInitializer g_RegisterHelper { BackendRegistryInstance(), ClBackend::GetIdStatic(), []() { return IBackendInternalUniquePtr(new ClBackend); } }; } const BackendId& ClBackend::GetIdStatic() { static const BackendId s_Id{ClBackendId()}; return s_Id; } IBackendInternal::IMemoryManagerUniquePtr ClBackend::CreateMemoryManager() const { return std::make_unique(std::make_unique()); } IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory( const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) const { return std::make_unique( boost::polymorphic_pointer_downcast(memoryManager)); } IBackendInternal::IBackendContextPtr ClBackend::CreateBackendContext(const IRuntime::CreationOptions& options) const { return IBackendContextPtr{new ClBackendContext{options}}; } IBackendInternal::Optimizations ClBackend::GetOptimizations() const { return Optimizations{}; } IBackendInternal::ILayerSupportSharedPtr ClBackend::GetLayerSupport() const { static ILayerSupportSharedPtr layerSupport{new ClLayerSupport}; return layerSupport; } OptimizationViews ClBackend::OptimizeSubgraphView(const SubgraphView& subgraph) const { OptimizationViews optimizationViews; optimizationViews.AddUntouchedSubgraph(SubgraphView(subgraph)); return optimizationViews; } } // namespace armnn