COMPMID-1563: Added a tag to ISCheduler::run_workloads to identify workloads
Change-Id: Ieac59e3ccf47feab8f88c65200eb8a81b2eb4196
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/147728
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
diff --git a/arm_compute/runtime/CPP/CPPScheduler.h b/arm_compute/runtime/CPP/CPPScheduler.h
index 30bc4c8..17ed831 100644
--- a/arm_compute/runtime/CPP/CPPScheduler.h
+++ b/arm_compute/runtime/CPP/CPPScheduler.h
@@ -61,6 +61,7 @@
*/
void schedule(ICPPKernel *kernel, const Hints &hints) override;
+protected:
/** Will run the workloads in parallel using num_threads
*
* @param[in] workloads Workloads to run
diff --git a/arm_compute/runtime/IScheduler.h b/arm_compute/runtime/IScheduler.h
index 1f90f4e..14acf04 100644
--- a/arm_compute/runtime/IScheduler.h
+++ b/arm_compute/runtime/IScheduler.h
@@ -134,8 +134,9 @@
* @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
+ * @param[in] tag String that can be used by profiling tools to identify the workloads run by the scheduler (Can be null).
*/
- virtual void run_workloads(std::vector<Workload> &workloads) = 0;
+ virtual void run_tagged_workloads(std::vector<Workload> &workloads, const char *tag);
/** Get CPU info.
*
@@ -152,6 +153,13 @@
unsigned int num_threads_hint() const;
protected:
+ /** 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;
CPUInfo _cpu_info;
private:
diff --git a/arm_compute/runtime/OMP/OMPScheduler.h b/arm_compute/runtime/OMP/OMPScheduler.h
index 4ff7876..ff9bf05 100644
--- a/arm_compute/runtime/OMP/OMPScheduler.h
+++ b/arm_compute/runtime/OMP/OMPScheduler.h
@@ -57,6 +57,8 @@
* @param[in] hints Hints for the scheduler.
*/
void schedule(ICPPKernel *kernel, const Hints &hints) override;
+
+protected:
/** 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.
diff --git a/arm_compute/runtime/SingleThreadScheduler.h b/arm_compute/runtime/SingleThreadScheduler.h
index 6924601..7c084ef 100644
--- a/arm_compute/runtime/SingleThreadScheduler.h
+++ b/arm_compute/runtime/SingleThreadScheduler.h
@@ -54,6 +54,7 @@
*/
void schedule(ICPPKernel *kernel, const Hints &hints) override;
+protected:
/** Will run the workloads sequentially and in order.
*
* @param[in] workloads Workloads to run