1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include "ClBackend.hpp" 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <armnn/BackendRegistry.hpp> 9*89c4ff92SAndroid Build Coastguard Worker 10*89c4ff92SAndroid Build Coastguard Worker namespace 11*89c4ff92SAndroid Build Coastguard Worker { 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker using namespace armnn; 14*89c4ff92SAndroid Build Coastguard Worker 15*89c4ff92SAndroid Build Coastguard Worker static BackendRegistry::StaticRegistryInitializer g_RegisterHelper 16*89c4ff92SAndroid Build Coastguard Worker { 17*89c4ff92SAndroid Build Coastguard Worker BackendRegistryInstance(), 18*89c4ff92SAndroid Build Coastguard Worker ClBackend::GetIdStatic(), 19*89c4ff92SAndroid Build Coastguard Worker []() __anonb877c52e0202() 20*89c4ff92SAndroid Build Coastguard Worker { 21*89c4ff92SAndroid Build Coastguard Worker // Check if we have a CustomMemoryAllocator associated with the backend 22*89c4ff92SAndroid Build Coastguard Worker // and if so register it with the backend. 23*89c4ff92SAndroid Build Coastguard Worker auto customAllocators = BackendRegistryInstance().GetAllocators(); 24*89c4ff92SAndroid Build Coastguard Worker auto allocatorIterator = customAllocators.find(ClBackend::GetIdStatic()); 25*89c4ff92SAndroid Build Coastguard Worker if (allocatorIterator != customAllocators.end()) 26*89c4ff92SAndroid Build Coastguard Worker { 27*89c4ff92SAndroid Build Coastguard Worker return IBackendInternalUniquePtr(new ClBackend(allocatorIterator->second)); 28*89c4ff92SAndroid Build Coastguard Worker } 29*89c4ff92SAndroid Build Coastguard Worker return IBackendInternalUniquePtr(new ClBackend); 30*89c4ff92SAndroid Build Coastguard Worker } 31*89c4ff92SAndroid Build Coastguard Worker }; 32*89c4ff92SAndroid Build Coastguard Worker 33*89c4ff92SAndroid Build Coastguard Worker } // Anonymous namespace 34