blob: 3aa4f038c54a90e724e824fcda9684888138ecd7 [file] [log] [blame]
arovir014424b0a2018-10-04 10:46:04 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefBackend.hpp"
David Beck3e9e1152018-10-17 14:17:50 +01007#include "RefBackendId.hpp"
arovir01a0944792018-10-11 15:00:58 +01008#include "RefWorkloadFactory.hpp"
9
David Beck6b779f02018-10-09 17:20:21 +010010#include <backends/BackendRegistry.hpp>
arovir01a0944792018-10-11 15:00:58 +010011
arovir014424b0a2018-10-04 10:46:04 +010012namespace armnn
13{
14
David Beck6b779f02018-10-09 17:20:21 +010015namespace
16{
David Beck6b779f02018-10-09 17:20:21 +010017
David Beck3e9e1152018-10-17 14:17:50 +010018static StaticRegistryInitializer<BackendRegistry> g_RegisterHelper
19{
20 BackendRegistryInstance(),
David Beck3cc9a622018-10-12 10:38:31 +010021 RefBackend::GetIdStatic(),
David Beckd4dfa682018-10-24 17:09:46 +010022 [](const EmptyInitializer&)
David Beck6b779f02018-10-09 17:20:21 +010023 {
David Beck29c75de2018-10-23 13:35:58 +010024 return IBackendInternalUniquePtr(new RefBackend);
David Beck6b779f02018-10-09 17:20:21 +010025 }
26};
27
28}
arovir014424b0a2018-10-04 10:46:04 +010029
David Beck3cc9a622018-10-12 10:38:31 +010030const BackendId& RefBackend::GetIdStatic()
arovir014424b0a2018-10-04 10:46:04 +010031{
David Beck3e9e1152018-10-17 14:17:50 +010032 static const BackendId s_Id{RefBackendId()};
arovir014424b0a2018-10-04 10:46:04 +010033 return s_Id;
34}
35
David Beck29c75de2018-10-23 13:35:58 +010036IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory() const
arovir014424b0a2018-10-04 10:46:04 +010037{
arovir01a0944792018-10-11 15:00:58 +010038 return std::make_unique<RefWorkloadFactory>();
arovir014424b0a2018-10-04 10:46:04 +010039}
40
arovir014424b0a2018-10-04 10:46:04 +010041} // namespace armnn