aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/CPP/CPPScheduler.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/runtime/CPP/CPPScheduler.h')
-rw-r--r--arm_compute/runtime/CPP/CPPScheduler.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/arm_compute/runtime/CPP/CPPScheduler.h b/arm_compute/runtime/CPP/CPPScheduler.h
index f4f6a1311e..7f70b5fa1f 100644
--- a/arm_compute/runtime/CPP/CPPScheduler.h
+++ b/arm_compute/runtime/CPP/CPPScheduler.h
@@ -31,7 +31,14 @@
namespace arm_compute
{
-/** C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. */
+/** C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads.
+ *
+ * It has 2 scheduling modes: Linear or Fanout (please refer to the implementation for details)
+ * The mode is selected automatically based on the runtime environment. However it can be forced via an environment
+ * variable ARM_COMPUTE_CPP_SCHEDULER_MODE. e.g.:
+ * ARM_COMPUTE_CPP_SCHEDULER_MODE=linear # Force select the linear scheduling mode
+ * ARM_COMPUTE_CPP_SCHEDULER_MODE=fanout # Force select the fanout scheduling mode
+*/
class CPPScheduler final : public IScheduler
{
public:
@@ -48,10 +55,10 @@ public:
static CPPScheduler &get();
// Inherited functions overridden
- void set_num_threads(unsigned int num_threads) override;
- void set_num_threads_with_affinity(unsigned int num_threads, BindFunc func) override;
+ void set_num_threads(unsigned int num_threads) override;
+ 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(ICPPKernel *kernel, const Hints &hints) override;
void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors) override;
protected: