diff options
Diffstat (limited to 'arm_compute/runtime/IScheduler.h')
-rw-r--r-- | arm_compute/runtime/IScheduler.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arm_compute/runtime/IScheduler.h b/arm_compute/runtime/IScheduler.h index a0bcada722..76ff5a3de0 100644 --- a/arm_compute/runtime/IScheduler.h +++ b/arm_compute/runtime/IScheduler.h @@ -26,6 +26,8 @@ #include "arm_compute/core/CPP/CPPTypes.h" +#include <functional> + namespace arm_compute { class ICPPKernel; @@ -34,6 +36,8 @@ class ICPPKernel; class IScheduler { public: + /** Signature for the workloads to execute */ + using Workload = std::function<void(const ThreadInfo &)>; /** Default constructor. */ IScheduler(); @@ -59,6 +63,14 @@ public: */ virtual void schedule(ICPPKernel *kernel, unsigned int split_dimension) = 0; + /** Execute all the passed workloads + * + * @note there is no guarantee regarding the order in which the workloads will be executed or whether or not they will be executed in parallel. + * + * @param[in] workloads Array of workloads to run + */ + virtual void run_workloads(std::vector<Workload> &workloads) = 0; + /** Get CPU info. * * @return CPU info. |