diff options
author | Keith Davis <keith.davis@arm.com> | 2020-03-30 10:43:41 +0100 |
---|---|---|
committer | Finn Williams <Finn.Williams@arm.com> | 2020-04-02 16:56:24 +0100 |
commit | 33ed221e2e8e3a77b5f543061e0cce07b259fc64 (patch) | |
tree | 8467f2e4ce019bfa2837ae1030c321509414780c /src/armnn/Runtime.cpp | |
parent | 0fe279bbf22fd2116b283b9df61076d526f115e4 (diff) | |
download | armnn-33ed221e2e8e3a77b5f543061e0cce07b259fc64.tar.gz |
IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocol
* Add Activate/Deactivate command handlers
* Add IReportStructure, INotifyBackends single function interfaces
* Add overrided mechanism to report structure in Runtime.cpp
* Add overrided mechanism to notify backends in ProfilingService.cpp
* Add optional IReportStructure argument to ProfilingService constructor
for use in ActivateTimelineReportingCommandHandler
* Refactoring and tidying up indentation
* Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp
* Added GatordMock end to end test
* Fixed an issue with SendCounterPacket sending duplicate packets
* Fixed an issue with DirectoryCaptureCommandHandler handling of Optional
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
Diffstat (limited to 'src/armnn/Runtime.cpp')
-rw-r--r-- | src/armnn/Runtime.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index 26636a81f7..dfcbf852e0 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -152,11 +152,32 @@ const std::shared_ptr<IProfiler> Runtime::GetProfiler(NetworkId networkId) const return nullptr; } +void Runtime::ReportStructure() // armnn::profiling::IProfilingService& profilingService as param +{ + // No-op for the time being, but this may be useful in future to have the profilingService available + // if (profilingService.IsProfilingEnabled()){} + + LoadedNetworks::iterator it = m_LoadedNetworks.begin(); + while (it != m_LoadedNetworks.end()) + { + auto& loadedNetwork = it->second; + loadedNetwork->SendNetworkStructure(); + // Increment the Iterator to point to next entry + it++; + } +} + Runtime::Runtime(const CreationOptions& options) - : m_NetworkIdCounter(0) + : m_NetworkIdCounter(0), + m_ProfilingService(*this) { ARMNN_LOG(info) << "ArmNN v" << ARMNN_VERSION << "\n"; + if ( options.m_ProfilingOptions.m_TimelineEnabled && !options.m_ProfilingOptions.m_EnableProfiling ) + { + throw RuntimeException("It is not possible to enable timeline reporting without profiling being enabled"); + } + // pass configuration info to the profiling service m_ProfilingService.ConfigureProfilingService(options.m_ProfilingOptions); |