arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 1 | // |
2 | // Copyright © 2017 Arm Ltd. All rights reserved. | ||||
3 | // SPDX-License-Identifier: MIT | ||||
4 | // | ||||
5 | |||||
6 | #include "ClBackend.hpp" | ||||
arovir01 | a094479 | 2018-10-11 15:00:58 +0100 | [diff] [blame] | 7 | #include "ClWorkloadFactory.hpp" |
8 | |||||
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 9 | #include <backends/BackendRegistry.hpp> |
arovir01 | a094479 | 2018-10-11 15:00:58 +0100 | [diff] [blame] | 10 | |
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 11 | #include <boost/cast.hpp> |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 12 | |
13 | namespace armnn | ||||
14 | { | ||||
15 | |||||
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 16 | namespace |
17 | { | ||||
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 18 | |
19 | static BackendRegistry::Helper g_RegisterHelper{ | ||||
David Beck | 3cc9a62 | 2018-10-12 10:38:31 +0100 | [diff] [blame] | 20 | ClBackend::GetIdStatic(), |
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 21 | []() |
22 | { | ||||
23 | return IBackendUniquePtr(new ClBackend, &ClBackend::Destroy); | ||||
24 | } | ||||
25 | }; | ||||
26 | |||||
27 | } | ||||
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 28 | |
David Beck | 3cc9a62 | 2018-10-12 10:38:31 +0100 | [diff] [blame] | 29 | const BackendId& ClBackend::GetIdStatic() |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 30 | { |
David Beck | 3cc9a62 | 2018-10-12 10:38:31 +0100 | [diff] [blame] | 31 | static const BackendId s_Id{"GpuAcc"}; |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 32 | return s_Id; |
33 | } | ||||
34 | |||||
35 | const ILayerSupport& ClBackend::GetLayerSupport() const | ||||
36 | { | ||||
37 | return m_LayerSupport; | ||||
38 | } | ||||
39 | |||||
40 | std::unique_ptr<IWorkloadFactory> ClBackend::CreateWorkloadFactory() const | ||||
41 | { | ||||
arovir01 | a094479 | 2018-10-11 15:00:58 +0100 | [diff] [blame] | 42 | return std::make_unique<ClWorkloadFactory>(); |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 43 | } |
44 | |||||
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 45 | void ClBackend::Destroy(IBackend* backend) |
46 | { | ||||
47 | delete boost::polymorphic_downcast<ClBackend*>(backend); | ||||
48 | } | ||||
49 | |||||
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 50 | } // namespace armnn |