aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/runtime/CPP/CPPScheduler.h4
-rw-r--r--arm_compute/runtime/IScheduler.h15
-rw-r--r--arm_compute/runtime/OMP/OMPScheduler.h5
-rw-r--r--arm_compute/runtime/SingleThreadScheduler.h5
4 files changed, 20 insertions, 9 deletions
diff --git a/arm_compute/runtime/CPP/CPPScheduler.h b/arm_compute/runtime/CPP/CPPScheduler.h
index 764af818d9..9e8fd4174a 100644
--- a/arm_compute/runtime/CPP/CPPScheduler.h
+++ b/arm_compute/runtime/CPP/CPPScheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -52,7 +52,7 @@ public:
void set_num_threads_with_affinity(unsigned int num_threads, BindFunc func) override;
unsigned int num_threads() const override;
void schedule(ICPPKernel *kernel, const Hints &hints) override;
- void schedule_op(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) override;
+ void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors) override;
protected:
/** Will run the workloads in parallel using num_threads
diff --git a/arm_compute/runtime/IScheduler.h b/arm_compute/runtime/IScheduler.h
index 309aee3bb5..d3ba86a67b 100644
--- a/arm_compute/runtime/IScheduler.h
+++ b/arm_compute/runtime/IScheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,6 +35,7 @@ namespace arm_compute
{
class ICPPKernel;
class ITensor;
+class Window;
/** Scheduler interface to run kernels */
class IScheduler
@@ -168,9 +169,10 @@ public:
*
* @param[in] kernel Kernel to execute.
* @param[in] hints Hints for the scheduler.
+ * @param[in] window Window to use for kernel execution.
* @param[in] tensors Vector containing the tensors to operate on.
*/
- virtual void schedule_op(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) = 0;
+ virtual void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors) = 0;
/** Execute all the passed workloads
*
@@ -205,7 +207,14 @@ protected:
virtual void run_workloads(std::vector<Workload> &workloads) = 0;
CPUInfo _cpu_info;
- void schedule_common(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors);
+ /** Common scheduler logic to execute the given kernel
+ *
+ * @param[in] kernel Kernel to execute.
+ * @param[in] hints Hints for the scheduler.
+ * @param[in] window Window to use for kernel execution.
+ * @param[in] tensors Vector containing the tensors to operate on.
+ */
+ void schedule_common(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors);
private:
unsigned int _num_threads_hint = {};
diff --git a/arm_compute/runtime/OMP/OMPScheduler.h b/arm_compute/runtime/OMP/OMPScheduler.h
index 56a31cc076..b522b403a9 100644
--- a/arm_compute/runtime/OMP/OMPScheduler.h
+++ b/arm_compute/runtime/OMP/OMPScheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -63,9 +63,10 @@ public:
*
* @param[in] kernel Kernel to execute.
* @param[in] hints Hints for the scheduler.
+ * @param[in] window Window to use for kernel execution.
* @param[in] tensors Vector containing the tensors to operate on.
*/
- void schedule_op(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) override;
+ void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors) override;
protected:
/** Execute all the passed workloads
diff --git a/arm_compute/runtime/SingleThreadScheduler.h b/arm_compute/runtime/SingleThreadScheduler.h
index d45730e499..a9541d15a7 100644
--- a/arm_compute/runtime/SingleThreadScheduler.h
+++ b/arm_compute/runtime/SingleThreadScheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -54,9 +54,10 @@ public:
*
* @param[in] kernel Kernel to execute.
* @param[in] hints Hints for the scheduler.
+ * @param[in] window Window to use for kernel execution.
* @param[in] tensors Vector containing the tensors to operate on.
*/
- void schedule_op(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) override;
+ void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors) override;
protected:
/** Will run the workloads sequentially and in order.