ArmNN
 20.02
ClWorkloadFactoryHelper.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
11 
12 #include <cl/ClBackend.hpp>
13 #include <cl/ClWorkloadFactory.hpp>
14 
15 #include <boost/polymorphic_pointer_cast.hpp>
16 
17 namespace
18 {
19 
20 template<>
21 struct WorkloadFactoryHelper<armnn::ClWorkloadFactory>
22 {
23  static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
24  {
25  armnn::ClBackend backend;
26  return backend.CreateMemoryManager();
27  }
28 
29  static armnn::ClWorkloadFactory GetFactory(
31  {
32  return armnn::ClWorkloadFactory(boost::polymorphic_pointer_downcast<armnn::ClMemoryManager>(memoryManager));
33  }
34 };
35 
36 using ClWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::ClWorkloadFactory>;
37 
38 } // anonymous namespace
Copyright (c) 2020 ARM Limited.
IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override
Definition: ClBackend.cpp:35
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr