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 "NeonBackend.hpp" |
arovir01 | a094479 | 2018-10-11 15:00:58 +0100 | [diff] [blame] | 7 | #include "NeonWorkloadFactory.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 | { |
| 18 | |
David Beck | 9df2d95 | 2018-10-10 15:11:44 +0100 | [diff] [blame] | 19 | static const BackendId s_Id{"CpuAcc"}; |
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 20 | |
| 21 | static BackendRegistry::Helper g_RegisterHelper{ |
| 22 | s_Id, |
| 23 | []() |
| 24 | { |
| 25 | return IBackendUniquePtr(new NeonBackend, &NeonBackend::Destroy); |
| 26 | } |
| 27 | }; |
| 28 | |
| 29 | } |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 30 | |
David Beck | 9df2d95 | 2018-10-10 15:11:44 +0100 | [diff] [blame] | 31 | const BackendId& NeonBackend::GetId() const |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 32 | { |
| 33 | return s_Id; |
| 34 | } |
| 35 | |
| 36 | const ILayerSupport& NeonBackend::GetLayerSupport() const |
| 37 | { |
| 38 | return m_LayerSupport; |
| 39 | } |
| 40 | |
| 41 | std::unique_ptr<IWorkloadFactory> NeonBackend::CreateWorkloadFactory() const |
| 42 | { |
arovir01 | a094479 | 2018-10-11 15:00:58 +0100 | [diff] [blame] | 43 | return std::make_unique<NeonWorkloadFactory>(); |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 44 | } |
| 45 | |
David Beck | 6b779f0 | 2018-10-09 17:20:21 +0100 | [diff] [blame] | 46 | void NeonBackend::Destroy(IBackend* backend) |
| 47 | { |
| 48 | delete boost::polymorphic_downcast<NeonBackend*>(backend); |
| 49 | } |
| 50 | |
arovir01 | 4424b0a | 2018-10-04 10:46:04 +0100 | [diff] [blame] | 51 | } // namespace armnn |