From 45a736263e117b484528e6dee05c549beae721b4 Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Fri, 15 May 2020 18:41:05 +0100 Subject: IVGCVSW-4834 Add calls to increment REGISTERED_BACKENDS and UNREGISTERED_BACKENDS Signed-off-by: Finn Williams Change-Id: I3600dd15f97ccd4ab745deb87d06ba978e2a0b11 --- src/armnn/BackendRegistry.cpp | 20 ++++++++++++++++++++ src/armnn/Runtime.cpp | 3 +++ 2 files changed, 23 insertions(+) (limited to 'src/armnn') diff --git a/src/armnn/BackendRegistry.cpp b/src/armnn/BackendRegistry.cpp index a79cdd0bb2..ff63c8236a 100644 --- a/src/armnn/BackendRegistry.cpp +++ b/src/armnn/BackendRegistry.cpp @@ -5,6 +5,7 @@ #include #include +#include namespace armnn { @@ -24,11 +25,25 @@ void BackendRegistry::Register(const BackendId& id, BackendRegistry::FactoryFunc CHECK_LOCATION()); } m_Factories[id] = factory; + + if (m_ProfilingService.has_value()) + { + if (m_ProfilingService.has_value() && m_ProfilingService.value().IsProfilingEnabled()) + { + m_ProfilingService.value().IncrementCounterValue(armnn::profiling::REGISTERED_BACKENDS); + } + } + } void BackendRegistry::Deregister(const BackendId& id) { m_Factories.erase(id); + + if (m_ProfilingService.has_value() && m_ProfilingService.value().IsProfilingEnabled()) + { + m_ProfilingService.value().IncrementCounterValue(armnn::profiling::UNREGISTERED_BACKENDS); + } } bool BackendRegistry::IsBackendRegistered(const BackendId& id) const @@ -86,5 +101,10 @@ void BackendRegistry::Swap(BackendRegistry& instance, BackendRegistry::FactorySt std::swap(instance.m_Factories, other); } +void BackendRegistry::SetProfilingService(armnn::Optional profilingService) +{ + m_ProfilingService = profilingService; +} + } // namespace armnn diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index 483eea7165..dbdd409784 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -220,6 +220,7 @@ Runtime::Runtime(const CreationOptions& options) } } + BackendRegistryInstance().SetProfilingService(m_ProfilingService); // pass configuration info to the profiling service m_ProfilingService.ConfigureProfilingService(options.m_ProfilingOptions); @@ -269,6 +270,8 @@ Runtime::~Runtime() DynamicBackendUtils::DeregisterDynamicBackends(m_DeviceSpec.GetDynamicBackends()); m_DeviceSpec.ClearDynamicBackends(); m_BackendContexts.clear(); + + BackendRegistryInstance().SetProfilingService(armnn::EmptyOptional()); } LoadedNetwork* Runtime::GetLoadedNetworkPtr(NetworkId networkId) const -- cgit v1.2.1