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 --- arm_compute/runtime/SingleThreadScheduler.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'arm_compute/runtime/SingleThreadScheduler.h') diff --git a/arm_compute/runtime/SingleThreadScheduler.h b/arm_compute/runtime/SingleThreadScheduler.h index a6e1defe7c..5672b622f2 100644 --- a/arm_compute/runtime/SingleThreadScheduler.h +++ b/arm_compute/runtime/SingleThreadScheduler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -54,6 +54,12 @@ public: */ void schedule(ICPPKernel *kernel, unsigned int split_dimension) override; + /** Will run the workloads sequentially and in order. + * + * @param[in] workloads Workloads to run + */ + void run_workloads(std::vector &workloads) override; + private: /** Constructor. */ SingleThreadScheduler() = default; -- cgit v1.2.1