aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
diff options
context:
space:
mode:
authorKevin May <kevin.may@arm.com>2022-10-05 14:42:55 +0100
committerKevin May <kevin.may@arm.com>2022-10-11 10:53:06 +0000
commit251fd955c18434b7aa3f486374c4f1a15bbd160e (patch)
treec094dfe973f18ea16b3726b91767c3fcbf363dad /src/backends/neon
parente497ed17463820eb33ca051254efd08c892325b5 (diff)
downloadarmnn-251fd955c18434b7aa3f486374c4f1a15bbd160e.tar.gz
IVGCVSW-7222 Fix incorrect kernel measurements in profiling output
* Some CL kernels are not run after the first inference and this breaks the profiler which is expecting a measurement for every kernel each run * Add a function HasKernelMeasurements() to ascertain if the Event is returning kernel measurements and if so insert 0.0 values for any missing kernel measurements. * Fix ExecuteNetwork to only print a json object after all inferences have completed Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I99f2bb0db847f5a52ab4c5705b072155c6b6f333
Diffstat (limited to 'src/backends/neon')
-rw-r--r--src/backends/neon/NeonTimer.cpp5
-rw-r--r--src/backends/neon/NeonTimer.hpp2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/backends/neon/NeonTimer.cpp b/src/backends/neon/NeonTimer.cpp
index a7d3032b13..dbb1503d24 100644
--- a/src/backends/neon/NeonTimer.cpp
+++ b/src/backends/neon/NeonTimer.cpp
@@ -42,6 +42,11 @@ void NeonTimer::Stop()
m_RealScheduler = nullptr;
}
+bool NeonTimer::HasKernelMeasurements() const
+{
+ return m_Kernels.size() > 0;
+}
+
std::vector<Measurement> NeonTimer::GetMeasurements() const
{
std::vector<Measurement> measurements = m_Kernels;
diff --git a/src/backends/neon/NeonTimer.hpp b/src/backends/neon/NeonTimer.hpp
index 31d3e85a7c..f2be7dc326 100644
--- a/src/backends/neon/NeonTimer.hpp
+++ b/src/backends/neon/NeonTimer.hpp
@@ -30,6 +30,8 @@ public:
void Stop() override;
+ bool HasKernelMeasurements() const override;
+
std::vector<Measurement> GetMeasurements() const override;
const char* GetName() const override;