diff options
author | Dana Zlotnik <dankir01@e109190.kfn.arm.com> | 2021-11-10 11:50:58 +0200 |
---|---|---|
committer | Dana Zlotnik <dana.zlotnik@arm.com> | 2021-11-16 11:54:34 +0000 |
commit | d7154dbf0f4a347f2f35f2475a893f1631c5ee1a (patch) | |
tree | 2a9e3d6ef6eff030f6bccb43650884a7aa3c1941 /arm_compute/runtime | |
parent | e7a5b0e133b977ef80d31e86f4eb6e94eae5ba17 (diff) | |
download | ComputeLibrary-d7154dbf0f4a347f2f35f2475a893f1631c5ee1a.tar.gz |
Implement 1D Adaptive Workload Splitting in CPPScheduler
Resolves COMPMID-4649
Change-Id: I941d2f8a40737ff05c49f6695a42884731ef2dc9
Signed-off-by: Dana Zlotnik <dana.zlotnik@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6656
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r-- | arm_compute/runtime/IScheduler.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arm_compute/runtime/IScheduler.h b/arm_compute/runtime/IScheduler.h index 3759fee8a8..f67357dcfd 100644 --- a/arm_compute/runtime/IScheduler.h +++ b/arm_compute/runtime/IScheduler.h @@ -215,6 +215,19 @@ protected: */ void schedule_common(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors); + /** Adjust the number of windows to the optimize performance + * (used for small workloads where smaller number of threads might improve the performance) + * + * @param[in] window Window to use for kernel execution + * @param[in] split_dimension Axis of dimension to split + * @param[in] init_num_windows Initial number of sub-windows to split + * @param[in] kernel Kernel to execute + * @param[in] cpu_info The CPU platform used to create the context. + * + * @return Adjusted number of windows + */ + std::size_t adjust_num_of_windows(const Window &window, std::size_t split_dimension, std::size_t init_num_windows, const ICPPKernel &kernel, const CPUInfo &cpu_info); + private: unsigned int _num_threads_hint = {}; }; |