aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Profiling.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/Profiling.cpp')
-rw-r--r--src/armnn/Profiling.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/armnn/Profiling.cpp b/src/armnn/Profiling.cpp
index 805b61e8ef..db2962ecad 100644
--- a/src/armnn/Profiling.cpp
+++ b/src/armnn/Profiling.cpp
@@ -316,6 +316,20 @@ void ExtractJsonObjects(unsigned int inferenceIndex,
}
std::vector<Measurement> instrumentMeasurements = parentEvent->GetMeasurements();
unsigned int childIdx = 0;
+ unsigned int numSkippedKernels = 0;
+ if (inferenceIndex > 0)
+ {
+ for (auto &i: parentEvent->GetInstruments())
+ {
+ if (i->HasKernelMeasurements())
+ {
+ numSkippedKernels = static_cast<unsigned int>(parentObject.m_Children.size() -
+ instrumentMeasurements.size());
+ childIdx = numSkippedKernels;
+ }
+ }
+ }
+
for (size_t measurementIndex = 0; measurementIndex < instrumentMeasurements.size(); ++measurementIndex, ++childIdx)
{
if (inferenceIndex == 0)
@@ -328,6 +342,13 @@ void ExtractJsonObjects(unsigned int inferenceIndex,
ARMNN_ASSERT(parentObject.NumChildren() == childIdx);
parentObject.AddChild(measurementObject);
}
+ else
+ {
+ if (numSkippedKernels > 0)
+ {
+ parentObject.GetChild(--numSkippedKernels).AddMeasurement(0.0);
+ }
+ }
parentObject.GetChild(childIdx).AddMeasurement(instrumentMeasurements[measurementIndex].m_Value);
}