aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CPP
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2019-11-05 13:35:47 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-11-11 12:33:13 +0000
commit77d42528b796f3b8f5033785d3bbb8d9cb3fc637 (patch)
tree9e8055e63f8475c5dde7d03768307e3eb7580a8a /src/runtime/CPP
parent9aaf09ec557dcce63cd1b5de173ce8947108327d (diff)
downloadComputeLibrary-77d42528b796f3b8f5033785d3bbb8d9cb3fc637.tar.gz
COMPMID-2853: VGG16 regression for fp32
* Caps dynamic scheduling granule to a max number Change-Id: I35a9239bc9984dbc1b416c40c4c1b4ac7f5808bd Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-on: https://review.mlplatform.org/c/2223 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'src/runtime/CPP')
-rw-r--r--src/runtime/CPP/CPPScheduler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/CPP/CPPScheduler.cpp b/src/runtime/CPP/CPPScheduler.cpp
index 5849218536..e684eeee98 100644
--- a/src/runtime/CPP/CPPScheduler.cpp
+++ b/src/runtime/CPP/CPPScheduler.cpp
@@ -338,9 +338,9 @@ void CPPScheduler::schedule(ICPPKernel *kernel, const Hints &hints)
break;
case StrategyHint::DYNAMIC:
{
+ const unsigned int granule_threshold = (hints.threshold() <= 0) ? num_threads : static_cast<unsigned int>(hints.threshold());
// Make sure we don't use some windows which are too small as this might create some contention on the ThreadFeeder
- const unsigned int max_iterations = static_cast<unsigned int>(_impl->_num_threads) * 3;
- num_windows = num_iterations > max_iterations ? max_iterations : num_iterations;
+ num_windows = num_iterations > granule_threshold ? granule_threshold : num_iterations;
break;
}
default: