aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backends/neon/NeonInterceptorScheduler.cpp10
-rw-r--r--src/backends/neon/NeonInterceptorScheduler.hpp2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/backends/neon/NeonInterceptorScheduler.cpp b/src/backends/neon/NeonInterceptorScheduler.cpp
index 03b4670296..d8dd01bd6c 100644
--- a/src/backends/neon/NeonInterceptorScheduler.cpp
+++ b/src/backends/neon/NeonInterceptorScheduler.cpp
@@ -44,4 +44,14 @@ void NeonInterceptorScheduler::run_workloads(std::vector <Workload>& workloads)
m_Kernels->emplace_back(std::string("Workload"), delta.count(), Measurement::Unit::TIME_US);
}
+void NeonInterceptorScheduler::run_tagged_workloads(std::vector<Workload> &workloads, const char *tag)
+{
+ WallClockTimer::clock::time_point startTime = WallClockTimer::clock::now();
+ m_RealScheduler.run_tagged_workloads(workloads, tag);
+ WallClockTimer::clock::time_point stopTime = WallClockTimer::clock::now();
+
+ const auto delta = std::chrono::duration<double, std::micro>(stopTime - startTime);
+ m_Kernels->emplace_back(std::string(tag != nullptr ? tag : "Unknown"), delta.count(), Measurement::Unit::TIME_US);
+}
+
} // namespace armnn \ No newline at end of file
diff --git a/src/backends/neon/NeonInterceptorScheduler.hpp b/src/backends/neon/NeonInterceptorScheduler.hpp
index f33b79a2da..3a6f2aa5ec 100644
--- a/src/backends/neon/NeonInterceptorScheduler.hpp
+++ b/src/backends/neon/NeonInterceptorScheduler.hpp
@@ -28,6 +28,8 @@ public:
void run_workloads(std::vector<Workload> &workloads) override;
+ void run_tagged_workloads(std::vector<Workload> &workloads, const char *tag) override;
+
void SetKernels(NeonTimer::KernelMeasurements* kernels) { m_Kernels = kernels; }
NeonTimer::KernelMeasurements* GetKernels() { return m_Kernels; }
private: