diff options
author | saoste01 <saoirse.stewart@arm.com> | 2019-01-24 12:31:58 +0000 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-01-24 15:32:40 +0000 |
commit | 19bd47dc6405b67796d462f590d0ff4406613452 (patch) | |
tree | 77cbe88604d02d30d6273447a3d75cf2d16e9676 | |
parent | 94dd5d87a1d3a05a2289e309a77a3851d9ec2741 (diff) | |
download | armnn-19bd47dc6405b67796d462f590d0ff4406613452.tar.gz |
IVGCVSW-2554 Update NEON scheduler to output workload names rather than unknown
Change-Id: I0d14baf9002c894790da171a6d60c0e4ac929078
-rw-r--r-- | src/backends/neon/NeonInterceptorScheduler.cpp | 10 | ||||
-rw-r--r-- | src/backends/neon/NeonInterceptorScheduler.hpp | 2 |
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: |