blob: aadc14bd68083bc27763ed24ea0b54556bbea81a [file] [log] [blame]
Matteo Martincighe67edb22019-08-14 14:05:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "ClBackend.hpp"
7
Matteo Martincighc601aa62019-10-29 15:03:22 +00008#include <armnn/BackendRegistry.hpp>
Matteo Martincighe67edb22019-08-14 14:05:46 +01009
10namespace
11{
12
13using namespace armnn;
14
15static BackendRegistry::StaticRegistryInitializer g_RegisterHelper
16{
17 BackendRegistryInstance(),
18 ClBackend::GetIdStatic(),
19 []()
20 {
Jan Eilersc1c872f2021-07-22 13:17:04 +010021 // Check if we have a CustomMemoryAllocator associated with the backend
22 // and if so register it with the backend.
23 auto customAllocators = BackendRegistryInstance().GetAllocators();
24 auto allocatorIterator = customAllocators.find(ClBackend::GetIdStatic());
25 if (allocatorIterator != customAllocators.end())
26 {
27 return IBackendInternalUniquePtr(new ClBackend(allocatorIterator->second));
28 }
Matteo Martincighe67edb22019-08-14 14:05:46 +010029 return IBackendInternalUniquePtr(new ClBackend);
30 }
31};
32
33} // Anonymous namespace