From 52ecb06b5627902a2f4514fba977e98454af4872 Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Fri, 25 May 2018 13:32:10 +0100 Subject: COMPMID-1180: Add support for bucket multi-threading (Part 1) - Add an entry point to allow the user to parallelise an arbitrary queue of workloads (Will be used to interleave GEMM / BufferManager) - Added a ThreadFeeder which acts as a thread-safe work distributor Change-Id: I3a84fb7446c453cfcd337e21338c2ccf9f29f7b3 Note: This patch doesn't introduce any change in the default strategy, therefore it shouldn't have any impact on the performance Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/133058 Tested-by: Jenkins Reviewed-by: Georgios Pinitas --- tests/framework/instruments/SchedulerTimer.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/framework/instruments/SchedulerTimer.cpp') diff --git a/tests/framework/instruments/SchedulerTimer.cpp b/tests/framework/instruments/SchedulerTimer.cpp index 1b37b189dd..49d94d76eb 100644 --- a/tests/framework/instruments/SchedulerTimer.cpp +++ b/tests/framework/instruments/SchedulerTimer.cpp @@ -76,6 +76,19 @@ public: _kernels.push_back(std::move(info)); } + void run_workloads(std::vector &workloads) override + { + _timer.start(); + _real_scheduler.run_workloads(workloads); + _timer.stop(); + + SchedulerTimer::kernel_info info; + info.name = "Unknown"; + info.prefix = _prefix; + info.measurements = _timer.measurements(); + _kernels.push_back(std::move(info)); + } + private: std::list &_kernels; IScheduler &_real_scheduler; -- cgit v1.2.1