diff options
author | Cathal Corbett <cathal.corbett@arm.com> | 2022-03-04 10:36:34 +0000 |
---|---|---|
committer | Cathal Corbett <cathal.corbett@arm.com> | 2022-03-07 11:19:08 +0000 |
commit | 19793551a67a5afd4cfb68e5dda7751e3d321a35 (patch) | |
tree | 355707246183ea982d4e6fead5be25f038111624 /src/armnn | |
parent | 344302581b66677a748a456f370752db75adde21 (diff) | |
download | armnn-19793551a67a5afd4cfb68e5dda7751e3d321a35.tar.gz |
IVGCVSW-6817 Add IProfilingService& as an argument to the IReportStructure
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib8e75eea49debe3b1dd8fa72623a55b26cb6ded4
Diffstat (limited to 'src/armnn')
-rw-r--r-- | src/armnn/LoadedNetwork.cpp | 26 | ||||
-rw-r--r-- | src/armnn/LoadedNetwork.hpp | 2 | ||||
-rw-r--r-- | src/armnn/Runtime.cpp | 20 | ||||
-rw-r--r-- | src/armnn/Runtime.hpp | 2 |
4 files changed, 25 insertions, 25 deletions
diff --git a/src/armnn/LoadedNetwork.cpp b/src/armnn/LoadedNetwork.cpp index 1dbd1e3112..46c1ce58aa 100644 --- a/src/armnn/LoadedNetwork.cpp +++ b/src/armnn/LoadedNetwork.cpp @@ -543,14 +543,14 @@ void LoadedNetwork::AllocateAndExecuteConstantWorkloadsAsync() } } -void LoadedNetwork::SendNetworkStructure() +void LoadedNetwork::SendNetworkStructure(arm::pipe::IProfilingService& profilingService) { ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "LoadNetwork_SendNetworkStructure"); Graph& order = m_OptimizedNetwork->pOptimizedNetworkImpl->GetGraph().TopologicalSort(); ProfilingGuid networkGuid = m_OptimizedNetwork->GetGuid(); std::unique_ptr<TimelineUtilityMethods> timelineUtils = - TimelineUtilityMethods::GetTimelineUtils(*m_ProfilingService); + TimelineUtilityMethods::GetTimelineUtils(profilingService); timelineUtils->CreateTypedEntity(networkGuid, LabelsAndEventClasses::NETWORK_GUID); @@ -560,19 +560,19 @@ void LoadedNetwork::SendNetworkStructure() AddLayerStructure(timelineUtils, *layer, networkGuid); switch (layer->GetType()) { - case LayerType::Input: - case LayerType::Output: - { - // Inputs and outputs are treated in a special way - see EnqueueInput() and EnqueueOutput(). - break; - } - default: + case LayerType::Input: + case LayerType::Output: { - for (auto& workload : m_WorkloadQueue) - { - // Add workload to the post-optimisation network structure - AddWorkloadStructure(timelineUtils, workload, *layer); + // Inputs and outputs are treated in a special way - see EnqueueInput() and EnqueueOutput(). + break; } + default: + { + for (auto& workload : m_WorkloadQueue) + { + // Add workload to the post-optimisation network structure + AddWorkloadStructure(timelineUtils, workload, *layer); + } break; } } diff --git a/src/armnn/LoadedNetwork.hpp b/src/armnn/LoadedNetwork.hpp index 19f2bcf907..85f90c116f 100644 --- a/src/armnn/LoadedNetwork.hpp +++ b/src/armnn/LoadedNetwork.hpp @@ -89,7 +89,7 @@ public: void RegisterDebugCallback(const DebugCallbackFunction& func); - void SendNetworkStructure(); + void SendNetworkStructure(arm::pipe::IProfilingService& profilingService); bool IsAsyncEnabled() { diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index af257e1be5..57bceddbfd 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -286,18 +286,18 @@ const std::shared_ptr<IProfiler> RuntimeImpl::GetProfiler(NetworkId networkId) c return nullptr; } -void RuntimeImpl::ReportStructure() // arm::pipe::IProfilingService& profilingService as param +void RuntimeImpl::ReportStructure(arm::pipe::IProfilingService& profilingService) { - // 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()) + if (profilingService.IsProfilingEnabled()) { - auto& loadedNetwork = it->second; - loadedNetwork->SendNetworkStructure(); - // Increment the Iterator to point to next entry - it++; + LoadedNetworks::iterator it = m_LoadedNetworks.begin(); + while (it != m_LoadedNetworks.end()) + { + auto& loadedNetwork = it->second; + loadedNetwork->SendNetworkStructure(profilingService); + // Increment the Iterator to point to next entry + it++; + } } } diff --git a/src/armnn/Runtime.hpp b/src/armnn/Runtime.hpp index f2462b15d2..9a20902291 100644 --- a/src/armnn/Runtime.hpp +++ b/src/armnn/Runtime.hpp @@ -110,7 +110,7 @@ public: //NOTE: we won't need the profiling service reference but it is good to pass the service // in this way to facilitate other implementations down the road - void ReportStructure() override; + void ReportStructure(arm::pipe::IProfilingService& profilingService) override; void InitialiseProfilingService(arm::pipe::IProfilingService& profilingService) override; |