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