aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMoritz Pflanzer <moritz.pflanzer@arm.com>2017-09-07 09:48:04 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commitc186b574e52b81c75e551cee46a6c4cc7d500c90 (patch)
tree682add7d1b705eb6d0b79b1f9a7a039dbaa4287b /src
parent3e05e4e85912e745b8555102e1bcef13478d2ceb (diff)
downloadComputeLibrary-c186b574e52b81c75e551cee46a6c4cc7d500c90.tar.gz
COMPMID-481: Add thread info parameter
Change-Id: Iebb50a88d017445b6b37a86563ebd4abd86c5cf5 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/86788 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp3
-rw-r--r--src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp3
-rw-r--r--src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEAccumulateKernel.cpp12
-rw-r--r--src/core/NEON/kernels/NEActivationLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBitwiseAndKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBitwiseNotKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBitwiseOrKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBitwiseXorKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEBox3x3Kernel.cpp6
-rw-r--r--src/core/NEON/kernels/NECannyEdgeKernel.cpp9
-rw-r--r--src/core/NEON/kernels/NEChannelCombineKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEChannelExtractKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NECol2ImKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEColorConvertKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEConvolutionKernel.cpp12
-rw-r--r--src/core/NEON/kernels/NECumulativeDistributionKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDepthConcatenateKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDepthConvertKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDequantizationLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDerivativeKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDilateKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEErodeKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEFastCornersKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEFillArrayKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEFillBorderKernel.cpp4
-rw-r--r--src/core/NEON/kernels/NEFillInnerBorderKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEFloorKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp42
-rw-r--r--src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGaussian3x3Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEGaussian5x5Kernel.cpp6
-rw-r--r--src/core/NEON/kernels/NEGaussianPyramidKernel.cpp6
-rw-r--r--src/core/NEON/kernels/NEHOGDescriptorKernel.cpp6
-rw-r--r--src/core/NEON/kernels/NEHOGDetectorKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEHarrisCornersKernel.cpp6
-rw-r--r--src/core/NEON/kernels/NEHistogramKernel.cpp11
-rw-r--r--src/core/NEON/kernels/NEIm2ColKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEIntegralImageKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEL2NormalizeKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NELKTrackerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp18
-rw-r--r--src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp6
-rw-r--r--src/core/NEON/kernels/NEMeanStdDevKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEMedian3x3Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEMinMaxLocationKernel.cpp6
-rw-r--r--src/core/NEON/kernels/NENonLinearFilterKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NENormalizationLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEPoolingLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEQuantizationLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEReductionOperationKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NERemapKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEScaleKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEScharr3x3Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NESobel3x3Kernel.cpp3
-rw-r--r--src/core/NEON/kernels/NESobel5x5Kernel.cpp6
-rw-r--r--src/core/NEON/kernels/NESobel7x7Kernel.cpp6
-rw-r--r--src/core/NEON/kernels/NESoftmaxLayerKernel.cpp9
-rw-r--r--src/core/NEON/kernels/NETableLookupKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEThresholdKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NETransposeKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEWarpKernel.cpp3
-rw-r--r--src/core/NEON/kernels/NEWeightsReshapeKernel.cpp3
-rw-r--r--src/runtime/CL/functions/CLHOGMultiDetection.cpp3
-rw-r--r--src/runtime/CL/functions/CLHarrisCorners.cpp2
-rw-r--r--src/runtime/CPP/CPPScheduler.cpp49
-rw-r--r--src/runtime/CPP/SingleThreadScheduler.cpp5
-rw-r--r--src/runtime/NEON/INESimpleFunction.cpp2
-rw-r--r--src/runtime/NEON/functions/NECannyEdge.cpp6
-rw-r--r--src/runtime/NEON/functions/NEConvolution.cpp2
-rw-r--r--src/runtime/NEON/functions/NEDerivative.cpp2
-rw-r--r--src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp2
-rw-r--r--src/runtime/NEON/functions/NEEqualizeHistogram.cpp2
-rw-r--r--src/runtime/NEON/functions/NEFastCorners.cpp2
-rw-r--r--src/runtime/NEON/functions/NEGaussian5x5.cpp2
-rw-r--r--src/runtime/NEON/functions/NEGaussianPyramid.cpp2
-rw-r--r--src/runtime/NEON/functions/NEHOGMultiDetection.cpp2
-rw-r--r--src/runtime/NEON/functions/NEHarrisCorners.cpp6
-rw-r--r--src/runtime/NEON/functions/NEMeanStdDev.cpp2
-rw-r--r--src/runtime/NEON/functions/NESobel5x5.cpp2
-rw-r--r--src/runtime/NEON/functions/NESobel7x7.cpp2
94 files changed, 267 insertions, 176 deletions
diff --git a/src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp b/src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp
index c7ac753672..418d349830 100644
--- a/src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp
+++ b/src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp
@@ -93,8 +93,9 @@ void CPPCornerCandidatesKernel::configure(const IImage *input, InternalKeypoint
INEKernel::configure(win);
}
-void CPPCornerCandidatesKernel::run(const Window &window)
+void CPPCornerCandidatesKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input(_input, window);
diff --git a/src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp b/src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp
index 62bfdd60ba..ebe3db983f 100644
--- a/src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp
+++ b/src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp
@@ -59,8 +59,9 @@ void CPPDetectionWindowNonMaximaSuppressionKernel::configure(IDetectionWindowArr
IKernel::configure(Window()); // Default 1 iteration window
}
-void CPPDetectionWindowNonMaximaSuppressionKernel::run(const Window &window)
+void CPPDetectionWindowNonMaximaSuppressionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_MISMATCHING_WINDOWS(IKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_input_output->buffer() == nullptr);
diff --git a/src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp b/src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp
index 09d3ccffa4..3b1c7aeb3d 100644
--- a/src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp
+++ b/src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp
@@ -68,8 +68,9 @@ bool CPPSortEuclideanDistanceKernel::is_parallelisable() const
return false;
}
-void CPPSortEuclideanDistanceKernel::run(const Window &window)
+void CPPSortEuclideanDistanceKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_MISMATCHING_WINDOWS(ICPPKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp b/src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp
index edb0a0f304..e0c2891592 100644
--- a/src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp
+++ b/src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp
@@ -201,8 +201,9 @@ void NEAbsoluteDifferenceKernel::configure(const ITensor *input1, const ITensor
INEKernel::configure(win);
}
-void NEAbsoluteDifferenceKernel::run(const Window &window)
+void NEAbsoluteDifferenceKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEAccumulateKernel.cpp b/src/core/NEON/kernels/NEAccumulateKernel.cpp
index 6e54dd64a3..deafabe1d4 100644
--- a/src/core/NEON/kernels/NEAccumulateKernel.cpp
+++ b/src/core/NEON/kernels/NEAccumulateKernel.cpp
@@ -114,8 +114,9 @@ void acc_we_v16_u8(const void *__restrict input, void *__restrict accum, float16
}
} // namespace fp16
-void NEAccumulateWeightedFP16Kernel::run(const Window &window)
+void NEAccumulateWeightedFP16Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
@@ -262,8 +263,9 @@ void NEAccumulateKernel::configure(const ITensor *input, ITensor *accum)
INESimpleKernel::configure(input, accum, num_elems_processed_per_iteration);
}
-void NEAccumulateKernel::run(const Window &window)
+void NEAccumulateKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
Iterator input(_input, window);
@@ -300,8 +302,9 @@ void NEAccumulateWeightedKernel::configure(const ITensor *input, float alpha, IT
INESimpleKernel::configure(input, accum, num_elems_processed_per_iteration);
}
-void NEAccumulateWeightedKernel::run(const Window &window)
+void NEAccumulateWeightedKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
@@ -342,8 +345,9 @@ void NEAccumulateSquaredKernel::configure(const ITensor *input, uint32_t shift,
INESimpleKernel::configure(input, accum, num_elems_processed_per_iteration);
}
-void NEAccumulateSquaredKernel::run(const Window &window)
+void NEAccumulateSquaredKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
Iterator input(_input, window);
diff --git a/src/core/NEON/kernels/NEActivationLayerKernel.cpp b/src/core/NEON/kernels/NEActivationLayerKernel.cpp
index 4ff26c0c67..67fc45bc70 100644
--- a/src/core/NEON/kernels/NEActivationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEActivationLayerKernel.cpp
@@ -653,8 +653,9 @@ typename std::enable_if<std::is_same<T, qint16_t>::value, void>::type NEActivati
input, output);
}
-void NEActivationLayerKernel::run(const Window &window)
+void NEActivationLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp b/src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp
index 7f7e45a940..f263fd0df2 100644
--- a/src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp
+++ b/src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp
@@ -459,8 +459,9 @@ void NEArithmeticAdditionKernel::configure(const ITensor *input1, const ITensor
INEKernel::configure(win);
}
-void NEArithmeticAdditionKernel::run(const Window &window)
+void NEArithmeticAdditionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp b/src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp
index be8574317b..85f72c1421 100644
--- a/src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp
+++ b/src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp
@@ -452,8 +452,9 @@ void NEArithmeticSubtractionKernel::configure(const ITensor *input1, const ITens
INEKernel::configure(win);
}
-void NEArithmeticSubtractionKernel::run(const Window &window)
+void NEArithmeticSubtractionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp b/src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp
index 66f174e883..f6f6f9cb61 100644
--- a/src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp
@@ -283,8 +283,9 @@ void NEBatchNormalizationLayerKernel::configure(ITensor *input, ITensor *output,
INEKernel::configure(win);
}
-void NEBatchNormalizationLayerKernel::run(const Window &window)
+void NEBatchNormalizationLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEBitwiseAndKernel.cpp b/src/core/NEON/kernels/NEBitwiseAndKernel.cpp
index e8e448e455..3888300899 100644
--- a/src/core/NEON/kernels/NEBitwiseAndKernel.cpp
+++ b/src/core/NEON/kernels/NEBitwiseAndKernel.cpp
@@ -93,8 +93,9 @@ void NEBitwiseAndKernel::configure(const ITensor *input1, const ITensor *input2,
INEKernel::configure(win);
}
-void NEBitwiseAndKernel::run(const Window &window)
+void NEBitwiseAndKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input1(_input1, window);
diff --git a/src/core/NEON/kernels/NEBitwiseNotKernel.cpp b/src/core/NEON/kernels/NEBitwiseNotKernel.cpp
index bf75592677..08d7fe2610 100644
--- a/src/core/NEON/kernels/NEBitwiseNotKernel.cpp
+++ b/src/core/NEON/kernels/NEBitwiseNotKernel.cpp
@@ -81,8 +81,9 @@ void NEBitwiseNotKernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NEBitwiseNotKernel::run(const Window &window)
+void NEBitwiseNotKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input(_input, window);
diff --git a/src/core/NEON/kernels/NEBitwiseOrKernel.cpp b/src/core/NEON/kernels/NEBitwiseOrKernel.cpp
index f184be2f26..1b17cc283c 100644
--- a/src/core/NEON/kernels/NEBitwiseOrKernel.cpp
+++ b/src/core/NEON/kernels/NEBitwiseOrKernel.cpp
@@ -93,8 +93,9 @@ void NEBitwiseOrKernel::configure(const ITensor *input1, const ITensor *input2,
INEKernel::configure(win);
}
-void NEBitwiseOrKernel::run(const Window &window)
+void NEBitwiseOrKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input1(_input1, window);
diff --git a/src/core/NEON/kernels/NEBitwiseXorKernel.cpp b/src/core/NEON/kernels/NEBitwiseXorKernel.cpp
index c4fb4c0d03..9451e8a08d 100644
--- a/src/core/NEON/kernels/NEBitwiseXorKernel.cpp
+++ b/src/core/NEON/kernels/NEBitwiseXorKernel.cpp
@@ -89,8 +89,9 @@ void NEBitwiseXorKernel::configure(const ITensor *input1, const ITensor *input2,
INEKernel::configure(win);
}
-void NEBitwiseXorKernel::run(const Window &window)
+void NEBitwiseXorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input1(_input1, window);
diff --git a/src/core/NEON/kernels/NEBox3x3Kernel.cpp b/src/core/NEON/kernels/NEBox3x3Kernel.cpp
index 551c903dd9..d7178e4690 100644
--- a/src/core/NEON/kernels/NEBox3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NEBox3x3Kernel.cpp
@@ -34,8 +34,9 @@
using namespace arm_compute;
#ifdef ARM_COMPUTE_ENABLE_FP16
-void NEBox3x3FP16Kernel::run(const Window &window)
+void NEBox3x3FP16Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
@@ -144,8 +145,9 @@ void NEBox3x3Kernel::configure(const ITensor *input, ITensor *output, bool borde
INEKernel::configure(win);
}
-void NEBox3x3Kernel::run(const Window &window)
+void NEBox3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NECannyEdgeKernel.cpp b/src/core/NEON/kernels/NECannyEdgeKernel.cpp
index 26df6f6b8b..bcbe790fd0 100644
--- a/src/core/NEON/kernels/NECannyEdgeKernel.cpp
+++ b/src/core/NEON/kernels/NECannyEdgeKernel.cpp
@@ -1677,8 +1677,9 @@ void NEGradientKernel::configure(const ITensor *gx, const ITensor *gy, ITensor *
INEKernel::configure(win);
}
-void NEGradientKernel::run(const Window &window)
+void NEGradientKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -1758,8 +1759,9 @@ void NEEdgeNonMaxSuppressionKernel::configure(const ITensor *magnitude, const IT
INEKernel::configure(win);
}
-void NEEdgeNonMaxSuppressionKernel::run(const Window &window)
+void NEEdgeNonMaxSuppressionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -1838,8 +1840,9 @@ void NEEdgeTraceKernel::configure(ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NEEdgeTraceKernel::run(const Window &window)
+void NEEdgeTraceKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input(_input, window);
diff --git a/src/core/NEON/kernels/NEChannelCombineKernel.cpp b/src/core/NEON/kernels/NEChannelCombineKernel.cpp
index 3147a698ad..a2b24de0b4 100644
--- a/src/core/NEON/kernels/NEChannelCombineKernel.cpp
+++ b/src/core/NEON/kernels/NEChannelCombineKernel.cpp
@@ -284,8 +284,9 @@ bool NEChannelCombineKernel::is_parallelisable() const
return _is_parallelizable;
}
-void NEChannelCombineKernel::run(const Window &window)
+void NEChannelCombineKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEChannelExtractKernel.cpp b/src/core/NEON/kernels/NEChannelExtractKernel.cpp
index dc31685240..bac24718ba 100644
--- a/src/core/NEON/kernels/NEChannelExtractKernel.cpp
+++ b/src/core/NEON/kernels/NEChannelExtractKernel.cpp
@@ -264,8 +264,9 @@ void NEChannelExtractKernel::configure(const IMultiImage *input, Channel channel
INEKernel::configure(win);
}
-void NEChannelExtractKernel::run(const Window &window)
+void NEChannelExtractKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NECol2ImKernel.cpp b/src/core/NEON/kernels/NECol2ImKernel.cpp
index 95a9364082..460d37e85d 100644
--- a/src/core/NEON/kernels/NECol2ImKernel.cpp
+++ b/src/core/NEON/kernels/NECol2ImKernel.cpp
@@ -116,8 +116,9 @@ void NECol2ImKernel::configure(const ITensor *input, ITensor *output, std::pair<
INEKernel::configure(win);
}
-void NECol2ImKernel::run(const Window &window)
+void NECol2ImKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEColorConvertKernel.cpp b/src/core/NEON/kernels/NEColorConvertKernel.cpp
index cb5152e2b3..347aeaede6 100644
--- a/src/core/NEON/kernels/NEColorConvertKernel.cpp
+++ b/src/core/NEON/kernels/NEColorConvertKernel.cpp
@@ -572,8 +572,9 @@ void NEColorConvertKernel::configure(const IMultiImage *input, IMultiImage *outp
INEKernel::configure(win);
}
-void NEColorConvertKernel::run(const Window &window)
+void NEColorConvertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEConvolutionKernel.cpp b/src/core/NEON/kernels/NEConvolutionKernel.cpp
index 30e91ef253..263fbe058a 100644
--- a/src/core/NEON/kernels/NEConvolutionKernel.cpp
+++ b/src/core/NEON/kernels/NEConvolutionKernel.cpp
@@ -621,8 +621,9 @@ void NEConvolutionKernel<9>::convolution(const Window &win)
}
template <unsigned int matrix_size>
-void NEConvolutionKernel<matrix_size>::run(const Window &window)
+void NEConvolutionKernel<matrix_size>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -694,8 +695,9 @@ void NESeparableConvolutionHorKernel<matrix_size>::configure(const ITensor *inpu
}
template <unsigned int matrix_size>
-void NESeparableConvolutionHorKernel<matrix_size>::run(const Window &window)
+void NESeparableConvolutionHorKernel<matrix_size>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
switch(_output->info()->data_type())
@@ -1131,8 +1133,9 @@ void NESeparableConvolutionVertKernel<matrix_size>::configure(const ITensor *inp
}
template <unsigned int matrix_size>
-void NESeparableConvolutionVertKernel<matrix_size>::run(const Window &window)
+void NESeparableConvolutionVertKernel<matrix_size>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -1464,8 +1467,9 @@ void NEConvolutionRectangleKernel::configure(const ITensor *input, ITensor *outp
INEKernel::configure(win);
}
-void NEConvolutionRectangleKernel::run(const Window &window)
+void NEConvolutionRectangleKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NECumulativeDistributionKernel.cpp b/src/core/NEON/kernels/NECumulativeDistributionKernel.cpp
index 32789cbe33..b65f3ba9e8 100644
--- a/src/core/NEON/kernels/NECumulativeDistributionKernel.cpp
+++ b/src/core/NEON/kernels/NECumulativeDistributionKernel.cpp
@@ -67,8 +67,9 @@ void NECumulativeDistributionKernel::configure(const IImage *input, const IDistr
INEKernel::configure(calculate_max_window(*input->info()));
}
-void NECumulativeDistributionKernel::run(const Window &window)
+void NECumulativeDistributionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_distribution->buffer() == nullptr);
diff --git a/src/core/NEON/kernels/NEDepthConcatenateKernel.cpp b/src/core/NEON/kernels/NEDepthConcatenateKernel.cpp
index d58e4e0aa5..7a62b0cb03 100644
--- a/src/core/NEON/kernels/NEDepthConcatenateKernel.cpp
+++ b/src/core/NEON/kernels/NEDepthConcatenateKernel.cpp
@@ -159,8 +159,9 @@ void NEDepthConcatenateKernel::configure(const ITensor *input, unsigned int dept
INEKernel::configure(win);
}
-void NEDepthConcatenateKernel::run(const Window &window)
+void NEDepthConcatenateKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEDepthConvertKernel.cpp b/src/core/NEON/kernels/NEDepthConvertKernel.cpp
index f7203701e7..d97a20be65 100644
--- a/src/core/NEON/kernels/NEDepthConvertKernel.cpp
+++ b/src/core/NEON/kernels/NEDepthConvertKernel.cpp
@@ -120,8 +120,9 @@ void NEDepthConvertKernel::configure(ITensor *input, ITensor *output, ConvertPol
ICPPKernel::configure(win);
}
-void NEDepthConvertKernel::run(const Window &window)
+void NEDepthConvertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
ARM_COMPUTE_ERROR_ON(nullptr == _input);
diff --git a/src/core/NEON/kernels/NEDequantizationLayerKernel.cpp b/src/core/NEON/kernels/NEDequantizationLayerKernel.cpp
index 70685c92c5..3bf2b35a09 100644
--- a/src/core/NEON/kernels/NEDequantizationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEDequantizationLayerKernel.cpp
@@ -68,8 +68,9 @@ void NEDequantizationLayerKernel::configure(const ITensor *input, ITensor *outpu
INEKernel::configure(win);
}
-void NEDequantizationLayerKernel::run(const Window &window)
+void NEDequantizationLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEDerivativeKernel.cpp b/src/core/NEON/kernels/NEDerivativeKernel.cpp
index bf7e0972d5..a5680ebbf9 100644
--- a/src/core/NEON/kernels/NEDerivativeKernel.cpp
+++ b/src/core/NEON/kernels/NEDerivativeKernel.cpp
@@ -214,8 +214,9 @@ void NEDerivativeKernel::derivative_xy(const Window &window)
in, out_x, out_y);
}
-void NEDerivativeKernel::run(const Window &window)
+void NEDerivativeKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEDilateKernel.cpp b/src/core/NEON/kernels/NEDilateKernel.cpp
index 867cf77c49..3ee00a47d3 100644
--- a/src/core/NEON/kernels/NEDilateKernel.cpp
+++ b/src/core/NEON/kernels/NEDilateKernel.cpp
@@ -67,8 +67,9 @@ void NEDilateKernel::configure(const ITensor *input, ITensor *output, bool borde
INEKernel::configure(win);
}
-void NEDilateKernel::run(const Window &window)
+void NEDilateKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.cpp b/src/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.cpp
index 12ef064803..6631359341 100644
--- a/src/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.cpp
+++ b/src/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.cpp
@@ -266,8 +266,9 @@ void NEDirectConvolutionLayerBiasAccumulateKernel::configure(ITensor *input, con
}
}
-void NEDirectConvolutionLayerBiasAccumulateKernel::run(const Window &window)
+void NEDirectConvolutionLayerBiasAccumulateKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp b/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp
index 3dd07fcdbe..d4171c5a67 100644
--- a/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp
@@ -1378,8 +1378,9 @@ void NEDirectConvolutionLayerKernel::configure(const ITensor *input, const ITens
INEKernel::configure(win);
}
-void NEDirectConvolutionLayerKernel::run(const Window &window)
+void NEDirectConvolutionLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_input->buffer() == nullptr);
diff --git a/src/core/NEON/kernels/NEErodeKernel.cpp b/src/core/NEON/kernels/NEErodeKernel.cpp
index 398503627c..88c20f8174 100644
--- a/src/core/NEON/kernels/NEErodeKernel.cpp
+++ b/src/core/NEON/kernels/NEErodeKernel.cpp
@@ -67,8 +67,9 @@ void NEErodeKernel::configure(const ITensor *input, ITensor *output, bool border
INEKernel::configure(win);
}
-void NEErodeKernel::run(const Window &window)
+void NEErodeKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEFastCornersKernel.cpp b/src/core/NEON/kernels/NEFastCornersKernel.cpp
index 9e8b5526a1..919efd2ae2 100644
--- a/src/core/NEON/kernels/NEFastCornersKernel.cpp
+++ b/src/core/NEON/kernels/NEFastCornersKernel.cpp
@@ -388,8 +388,9 @@ void NEFastCornersKernel::configure(const IImage *input, IImage *output, uint8_t
INEKernel::configure(win);
}
-void NEFastCornersKernel::run(const Window &window)
+void NEFastCornersKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEFillArrayKernel.cpp b/src/core/NEON/kernels/NEFillArrayKernel.cpp
index 7e7e1c2501..5a2e1a0aa4 100644
--- a/src/core/NEON/kernels/NEFillArrayKernel.cpp
+++ b/src/core/NEON/kernels/NEFillArrayKernel.cpp
@@ -62,8 +62,9 @@ bool NEFillArrayKernel::is_parallelisable() const
return false;
}
-void NEFillArrayKernel::run(const Window &window)
+void NEFillArrayKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEFillBorderKernel.cpp b/src/core/NEON/kernels/NEFillBorderKernel.cpp
index 7d191c18b0..65d5388c4b 100644
--- a/src/core/NEON/kernels/NEFillBorderKernel.cpp
+++ b/src/core/NEON/kernels/NEFillBorderKernel.cpp
@@ -124,8 +124,10 @@ void NEFillBorderKernel::configure(ITensor *tensor, BorderSize border_size, Bord
INEKernel::configure(win);
}
-void NEFillBorderKernel::run(const Window &window)
+void NEFillBorderKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
+
// If there is no border: early exit
if(_border_size.empty())
{
diff --git a/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp b/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp
index 699a5d9299..5323733fd3 100644
--- a/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp
+++ b/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp
@@ -61,8 +61,9 @@ void NEFillInnerBorderKernel::configure(ITensor *input, BorderSize border_size,
INEKernel::configure(win);
}
-void NEFillInnerBorderKernel::run(const Window &window)
+void NEFillInnerBorderKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEFloorKernel.cpp b/src/core/NEON/kernels/NEFloorKernel.cpp
index 1dc376f738..dd85ac1fd6 100644
--- a/src/core/NEON/kernels/NEFloorKernel.cpp
+++ b/src/core/NEON/kernels/NEFloorKernel.cpp
@@ -64,8 +64,9 @@ void NEFloorKernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NEFloorKernel::run(const Window &window)
+void NEFloorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp b/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp
index 40ece9faab..c76c39aa4b 100644
--- a/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp
@@ -182,8 +182,9 @@ void NEGEMMInterleave4x4Kernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NEGEMMInterleave4x4Kernel::run(const Window &window)
+void NEGEMMInterleave4x4Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp b/src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp
index 3558c686b1..cbba4461a2 100644
--- a/src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp
@@ -81,8 +81,9 @@ void NEGEMMLowpMatrixMultiplyKernel::configure(const ITensor *input0, const ITen
INEKernel::configure(win);
}
-void NEGEMMLowpMatrixMultiplyKernel::run(const Window &window)
+void NEGEMMLowpMatrixMultiplyKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp b/src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp
index 6ed3791ce5..fb07cb0333 100644
--- a/src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp
@@ -72,8 +72,9 @@ void NEGEMMMatrixAccumulateBiasesKernel::configure(ITensor *accum, const ITensor
INEKernel::configure(win);
}
-void NEGEMMMatrixAccumulateBiasesKernel::run(const Window &window)
+void NEGEMMMatrixAccumulateBiasesKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp b/src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp
index f2cd18d827..9dbce1de2f 100644
--- a/src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp
@@ -183,8 +183,9 @@ void NEGEMMMatrixAdditionKernel::configure(const ITensor *input, ITensor *output
_beta = beta;
}
-void NEGEMMMatrixAdditionKernel::run(const Window &window)
+void NEGEMMMatrixAdditionKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp b/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp
index 8a2a481bde..b872bab928 100644
--- a/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp
@@ -51,7 +51,7 @@ class Coordinates;
namespace
{
template <bool multiply_alpha>
-void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, float alpha)
+void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info, float alpha)
{
#ifdef ARM_COMPUTE_ENABLE_FP16
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
@@ -59,8 +59,8 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT
const auto num_elems_vec_a = static_cast<int>(input0->info()->dimension(0));
// The implementation computes 32 elements per iteration
- const int window_start_x = 32 * window.thread_id();
- const int window_step_x = 32 * window.num_threads();
+ const int window_start_x = 32 * info.thread_id;
+ const int window_step_x = 32 * info.num_threads;
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
ARM_COMPUTE_ERROR_ON_MSG((window_end_x - window_start_x) % window_step_x, " (window_end_x - window_start_x) must be multiple of window_step_x");
@@ -192,15 +192,15 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT
}
template <bool multiply_alpha>
-void vector_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, float alpha)
+void vector_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info, float alpha)
{
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
const auto in_b_stride = static_cast<int>(input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type()));
const auto num_elems_vec_a = static_cast<int>(input0->info()->dimension(0));
// The implementation computes 16 elements per iteration
- const int window_start_x = 16 * window.thread_id();
- const int window_step_x = 16 * window.num_threads();
+ const int window_start_x = 16 * info.thread_id;
+ const int window_step_x = 16 * info.num_threads;
// Make sure (window_end_x - window_start_x) is a multiple of window_step_x
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
@@ -348,7 +348,7 @@ void vector_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, IT
}
template <bool multiply_alpha>
-void vector_matrix_multiply_qs8(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, float alpha)
+void vector_matrix_multiply_qs8(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info, float alpha)
{
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
const auto in_b_stride = static_cast<int>(input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type()));
@@ -356,8 +356,8 @@ void vector_matrix_multiply_qs8(const ITensor *input0, const ITensor *input1, IT
const int fixed_point_position = input0->info()->fixed_point_position();
// The implementation computes 32 elements per iteration
- const int window_start_x = 32 * window.thread_id();
- const int window_step_x = 32 * window.num_threads();
+ const int window_start_x = 32 * info.thread_id;
+ const int window_step_x = 32 * info.num_threads;
// Make sure (window_end_x - window_start_x) is a multiple of window_step_x
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
@@ -476,7 +476,7 @@ void vector_matrix_multiply_qs8(const ITensor *input0, const ITensor *input1, IT
}
template <bool multiply_alpha>
-void vector_matrix_multiply_qs16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, float alpha)
+void vector_matrix_multiply_qs16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info, float alpha)
{
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
const auto in_b_stride = static_cast<int>(input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type()));
@@ -484,8 +484,8 @@ void vector_matrix_multiply_qs16(const ITensor *input0, const ITensor *input1, I
const int fixed_point_position = input0->info()->fixed_point_position();
// The implementation computes 16 elements per iteration
- const int window_start_x = 16 * window.thread_id();
- const int window_step_x = 16 * window.num_threads();
+ const int window_start_x = 16 * info.thread_id;
+ const int window_step_x = 16 * info.num_threads;
// Make sure (window_end_x - window_start_x) is a multiple of window_step_x
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
ARM_COMPUTE_ERROR_ON_MSG((window_end_x - window_start_x) % window_step_x, " (window_end_x - window_start_x) must be multiple of window_step_x");
@@ -1522,7 +1522,7 @@ void NEGEMMMatrixMultiplyKernel::configure(const ITensor *input0, const ITensor
}
}
-void NEGEMMMatrixMultiplyKernel::run(const Window &window)
+void NEGEMMMatrixMultiplyKernel::run(const Window &window, const ThreadInfo &info)
{
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -1536,27 +1536,27 @@ void NEGEMMMatrixMultiplyKernel::run(const Window &window)
{
case DataType::F32:
{
- multiply_alpha ? vector_matrix_multiply_f32<true>(_input0, _input1, _output, window, _alpha) :
- vector_matrix_multiply_f32<false>(_input0, _input1, _output, window, _alpha);
+ multiply_alpha ? vector_matrix_multiply_f32<true>(_input0, _input1, _output, window, info, _alpha) :
+ vector_matrix_multiply_f32<false>(_input0, _input1, _output, window, info, _alpha);
break;
}
case DataType::QS8:
{
- multiply_alpha ? vector_matrix_multiply_qs8<true>(_input0, _input1, _output, window, _alpha) :
- vector_matrix_multiply_qs8<false>(_input0, _input1, _output, window, _alpha);
+ multiply_alpha ? vector_matrix_multiply_qs8<true>(_input0, _input1, _output, window, info, _alpha) :
+ vector_matrix_multiply_qs8<false>(_input0, _input1, _output, window, info, _alpha);
break;
}
case DataType::QS16:
{
- multiply_alpha ? vector_matrix_multiply_qs16<true>(_input0, _input1, _output, window, _alpha) :
- vector_matrix_multiply_qs16<false>(_input0, _input1, _output, window, _alpha);
+ multiply_alpha ? vector_matrix_multiply_qs16<true>(_input0, _input1, _output, window, info, _alpha) :
+ vector_matrix_multiply_qs16<false>(_input0, _input1, _output, window, info, _alpha);
break;
}
#ifdef ARM_COMPUTE_ENABLE_FP16
case DataType::F16:
{
- multiply_alpha ? vector_matrix_multiply_f16<true>(_input0, _input1, _output, window, _alpha) :
- vector_matrix_multiply_f16<false>(_input0, _input1, _output, window, _alpha);
+ multiply_alpha ? vector_matrix_multiply_f16<true>(_input0, _input1, _output, window, info, _alpha) :
+ vector_matrix_multiply_f16<false>(_input0, _input1, _output, window, info, _alpha);
break;
}
#endif /* ARM_COMPUTE_ENABLE_FP16 */
diff --git a/src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp b/src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp
index 95063a7875..7f4ee1ec49 100644
--- a/src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp
+++ b/src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp
@@ -81,8 +81,9 @@ void NEGEMMTranspose1xWKernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NEGEMMTranspose1xWKernel::run(const Window &window)
+void NEGEMMTranspose1xWKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGaussian3x3Kernel.cpp b/src/core/NEON/kernels/NEGaussian3x3Kernel.cpp
index 419f4825ef..048c22933c 100644
--- a/src/core/NEON/kernels/NEGaussian3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NEGaussian3x3Kernel.cpp
@@ -64,8 +64,9 @@ void NEGaussian3x3Kernel::configure(const ITensor *input, ITensor *output, bool
INEKernel::configure(win);
}
-void NEGaussian3x3Kernel::run(const Window &window)
+void NEGaussian3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGaussian5x5Kernel.cpp b/src/core/NEON/kernels/NEGaussian5x5Kernel.cpp
index 4e1880d968..b62e2816c0 100644
--- a/src/core/NEON/kernels/NEGaussian5x5Kernel.cpp
+++ b/src/core/NEON/kernels/NEGaussian5x5Kernel.cpp
@@ -73,8 +73,9 @@ void NEGaussian5x5HorKernel::configure(const ITensor *input, ITensor *output, bo
INEKernel::configure(win);
}
-void NEGaussian5x5HorKernel::run(const Window &window)
+void NEGaussian5x5HorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -140,8 +141,9 @@ void NEGaussian5x5VertKernel::configure(const ITensor *input, ITensor *output, b
INEKernel::configure(win);
}
-void NEGaussian5x5VertKernel::run(const Window &window)
+void NEGaussian5x5VertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEGaussianPyramidKernel.cpp b/src/core/NEON/kernels/NEGaussianPyramidKernel.cpp
index 52d1fbf028..d6cb1b6444 100644
--- a/src/core/NEON/kernels/NEGaussianPyramidKernel.cpp
+++ b/src/core/NEON/kernels/NEGaussianPyramidKernel.cpp
@@ -110,8 +110,9 @@ void NEGaussianPyramidHorKernel::configure(const ITensor *input, ITensor *output
INEKernel::configure(win);
}
-void NEGaussianPyramidHorKernel::run(const Window &window)
+void NEGaussianPyramidHorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(window.x().step() % 2);
@@ -215,8 +216,9 @@ void NEGaussianPyramidVertKernel::configure(const ITensor *input, ITensor *outpu
INEKernel::configure(win);
}
-void NEGaussianPyramidVertKernel::run(const Window &window)
+void NEGaussianPyramidVertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(window.x().step() != 16);
diff --git a/src/core/NEON/kernels/NEHOGDescriptorKernel.cpp b/src/core/NEON/kernels/NEHOGDescriptorKernel.cpp
index 404ad8a388..3fd81bed1c 100644
--- a/src/core/NEON/kernels/NEHOGDescriptorKernel.cpp
+++ b/src/core/NEON/kernels/NEHOGDescriptorKernel.cpp
@@ -675,8 +675,9 @@ void NEHOGOrientationBinningKernel::configure(const ITensor *input_magnitude, co
INEKernel::configure(win);
}
-void NEHOGOrientationBinningKernel::run(const Window &window)
+void NEHOGOrientationBinningKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -768,8 +769,9 @@ void NEHOGBlockNormalizationKernel::configure(const ITensor *input, ITensor *out
INEKernel::configure(win);
}
-void NEHOGBlockNormalizationKernel::run(const Window &window)
+void NEHOGBlockNormalizationKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEHOGDetectorKernel.cpp b/src/core/NEON/kernels/NEHOGDetectorKernel.cpp
index 9dd50ca294..343b0517b0 100644
--- a/src/core/NEON/kernels/NEHOGDetectorKernel.cpp
+++ b/src/core/NEON/kernels/NEHOGDetectorKernel.cpp
@@ -92,8 +92,9 @@ void NEHOGDetectorKernel::configure(const ITensor *input, const IHOG *hog, IDete
INEKernel::configure(win);
}
-void NEHOGDetectorKernel::run(const Window &window)
+void NEHOGDetectorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_hog_descriptor == nullptr);
diff --git a/src/core/NEON/kernels/NEHarrisCornersKernel.cpp b/src/core/NEON/kernels/NEHarrisCornersKernel.cpp
index d44f4ce3b8..233b2baabe 100644
--- a/src/core/NEON/kernels/NEHarrisCornersKernel.cpp
+++ b/src/core/NEON/kernels/NEHarrisCornersKernel.cpp
@@ -287,8 +287,9 @@ NEHarrisScoreFP16Kernel<block_size>::NEHarrisScoreFP16Kernel()
}
template <int32_t block_size>
-void NEHarrisScoreFP16Kernel<block_size>::run(const Window &window)
+void NEHarrisScoreFP16Kernel<block_size>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -1029,8 +1030,9 @@ NEHarrisScoreKernel<block_size>::NEHarrisScoreKernel()
}
template <int32_t block_size>
-void NEHarrisScoreKernel<block_size>::run(const Window &window)
+void NEHarrisScoreKernel<block_size>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEHistogramKernel.cpp b/src/core/NEON/kernels/NEHistogramKernel.cpp
index 2018651083..6e402ae604 100644
--- a/src/core/NEON/kernels/NEHistogramKernel.cpp
+++ b/src/core/NEON/kernels/NEHistogramKernel.cpp
@@ -66,7 +66,7 @@ NEHistogramKernel::NEHistogramKernel()
{
}
-void NEHistogramKernel::histogram_U8(Window win)
+void NEHistogramKernel::histogram_U8(Window win, const ThreadInfo &info)
{
ARM_COMPUTE_ERROR_ON(_output->buffer() == nullptr);
@@ -74,7 +74,7 @@ void NEHistogramKernel::histogram_U8(Window win)
const int32_t offset = _output->offset();
const uint32_t offrange = offset + _output->range();
const uint32_t *const w_lut = _window_lut;
- uint32_t *const local_hist = _local_hist + win.thread_id() * bins;
+ uint32_t *const local_hist = _local_hist + info.thread_id * bins;
// Clear local_histogram
std::fill_n(local_hist, bins, 0);
@@ -129,8 +129,9 @@ void NEHistogramKernel::histogram_U8(Window win)
merge_histogram(_output->buffer(), local_hist, bins);
}
-void NEHistogramKernel::histogram_fixed_U8(Window win)
+void NEHistogramKernel::histogram_fixed_U8(Window win, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON(_output->buffer() == nullptr);
std::array<uint32_t, _max_range_size> local_hist{ { 0 } };
@@ -242,11 +243,11 @@ void NEHistogramKernel::configure(const IImage *input, IDistribution1D *output)
INEKernel::configure(win);
}
-void NEHistogramKernel::run(const Window &window)
+void NEHistogramKernel::run(const Window &window, const ThreadInfo &info)
{
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
- (this->*_func)(window);
+ (this->*_func)(window, info);
}
diff --git a/src/core/NEON/kernels/NEIm2ColKernel.cpp b/src/core/NEON/kernels/NEIm2ColKernel.cpp
index 6e15f82b6d..3e50277cdf 100644
--- a/src/core/NEON/kernels/NEIm2ColKernel.cpp
+++ b/src/core/NEON/kernels/NEIm2ColKernel.cpp
@@ -362,8 +362,9 @@ void NEIm2ColKernel::configure(const ITensor *input, ITensor *output, const Size
IKernel::configure(window);
}
-void NEIm2ColKernel::run(const Window &window)
+void NEIm2ColKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEIntegralImageKernel.cpp b/src/core/NEON/kernels/NEIntegralImageKernel.cpp
index 3b09a1bdbb..16a3cf7f07 100644
--- a/src/core/NEON/kernels/NEIntegralImageKernel.cpp
+++ b/src/core/NEON/kernels/NEIntegralImageKernel.cpp
@@ -71,8 +71,9 @@ bool NEIntegralImageKernel::is_parallelisable() const
return false;
}
-void NEIntegralImageKernel::run(const Window &window)
+void NEIntegralImageKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEL2NormalizeKernel.cpp b/src/core/NEON/kernels/NEL2NormalizeKernel.cpp
index f3f58b6eb3..12c532afd5 100644
--- a/src/core/NEON/kernels/NEL2NormalizeKernel.cpp
+++ b/src/core/NEON/kernels/NEL2NormalizeKernel.cpp
@@ -109,8 +109,9 @@ void NEL2NormalizeKernel::configure(const ITensor *input, const ITensor *sum, IT
INEKernel::configure(win);
}
-void NEL2NormalizeKernel::run(const Window &window)
+void NEL2NormalizeKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NELKTrackerKernel.cpp b/src/core/NEON/kernels/NELKTrackerKernel.cpp
index 3d2bfb204e..6fac7975df 100644
--- a/src/core/NEON/kernels/NELKTrackerKernel.cpp
+++ b/src/core/NEON/kernels/NELKTrackerKernel.cpp
@@ -385,8 +385,9 @@ void NELKTrackerKernel::configure(const ITensor *input_old, const ITensor *input
INEKernel::configure(window);
}
-void NELKTrackerKernel::run(const Window &window)
+void NELKTrackerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp b/src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp
index 2b7b391c43..a02ebf61ee 100644
--- a/src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp
+++ b/src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp
@@ -49,7 +49,7 @@ class Coordinates;
namespace
{
-void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window)
+void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info)
{
#ifdef ARM_COMPUTE_ENABLE_FP16
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
@@ -57,8 +57,8 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT
const auto num_elems_vec_a = static_cast<int>(input0->info()->dimension(0));
// The implementation computes 16 elements per iteration
- const int window_start_x = 16 * window.thread_id();
- const int window_step_x = 16 * window.num_threads();
+ const int window_start_x = 16 * info.thread_id;
+ const int window_step_x = 16 * info.num_threads;
// Make sure (window_end_x - window_start_x) is a multiple of window_step_x
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
@@ -169,15 +169,15 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT
#endif /* ARM_COMPUTE_ENABLE_FP16 */
}
-void vector_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window)
+void vector_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info)
{
const auto width_matrix_b = static_cast<int>(output->info()->dimension(0));
const auto in_b_stride = static_cast<int>(input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type()));
const auto num_elems_vec_a = static_cast<int>(input0->info()->dimension(0));
// The implementation computes 16 elements per iteration
- const int window_start_x = 16 * window.thread_id();
- const int window_step_x = 16 * window.num_threads();
+ const int window_start_x = 16 * info.thread_id;
+ const int window_step_x = 16 * info.num_threads;
// Make sure (window_end_x - window_start_x) is a multiple of window_step_x
const int window_end_x = ceil_to_multiple(width_matrix_b - window_start_x, window_step_x) + window_start_x;
@@ -337,7 +337,7 @@ void NELocallyConnectedMatrixMultiplyKernel::configure(const ITensor *input0, co
INEKernel::configure(win);
}
-void NELocallyConnectedMatrixMultiplyKernel::run(const Window &window)
+void NELocallyConnectedMatrixMultiplyKernel::run(const Window &window, const ThreadInfo &info)
{
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -346,12 +346,12 @@ void NELocallyConnectedMatrixMultiplyKernel::run(const Window &window)
{
case DataType::F16:
{
- vector_matrix_multiply_f16(_input0, _input1, _output, window);
+ vector_matrix_multiply_f16(_input0, _input1, _output, window, info);
break;
}
case DataType::F32:
{
- vector_matrix_multiply_f32(_input0, _input1, _output, window);
+ vector_matrix_multiply_f32(_input0, _input1, _output, window, info);
break;
}
default:
diff --git a/src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp b/src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp
index 599dad6c70..433985f6fa 100644
--- a/src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp
+++ b/src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp
@@ -415,8 +415,9 @@ void NEMagnitudePhaseFP16Kernel<mag_type, phase_type>::magnitude_phase(const Win
}
template <MagnitudeType mag_type, PhaseType phase_type>
-void NEMagnitudePhaseFP16Kernel<mag_type, phase_type>::run(const Window &window)
+void NEMagnitudePhaseFP16Kernel<mag_type, phase_type>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -854,8 +855,9 @@ void NEMagnitudePhaseKernel<mag_type, phase_type>::magnitude_phase(const Window
}
template <MagnitudeType mag_type, PhaseType phase_type>
-void NEMagnitudePhaseKernel<mag_type, phase_type>::run(const Window &window)
+void NEMagnitudePhaseKernel<mag_type, phase_type>::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEMeanStdDevKernel.cpp b/src/core/NEON/kernels/NEMeanStdDevKernel.cpp
index cb32a3b45b..7895b009d6 100644
--- a/src/core/NEON/kernels/NEMeanStdDevKernel.cpp
+++ b/src/core/NEON/kernels/NEMeanStdDevKernel.cpp
@@ -120,8 +120,9 @@ void NEMeanStdDevKernel::configure(const IImage *input, float *mean, uint64_t *g
INEKernel::configure(win);
}
-void NEMeanStdDevKernel::run(const Window &window)
+void NEMeanStdDevKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
Iterator input(_input, window);
diff --git a/src/core/NEON/kernels/NEMedian3x3Kernel.cpp b/src/core/NEON/kernels/NEMedian3x3Kernel.cpp
index 601a0e109f..54ef33ec36 100644
--- a/src/core/NEON/kernels/NEMedian3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NEMedian3x3Kernel.cpp
@@ -75,8 +75,9 @@ void NEMedian3x3Kernel::configure(const ITensor *input, ITensor *output, bool bo
INEKernel::configure(win);
}
-void NEMedian3x3Kernel::run(const Window &window)
+void NEMedian3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp b/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp
index 24c7af7af7..c7dc03c8c8 100644
--- a/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp
+++ b/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp
@@ -80,8 +80,9 @@ void NEMinMaxKernel::configure(const IImage *input, void *min, void *max)
INEKernel::configure(win);
}
-void NEMinMaxKernel::run(const Window &window)
+void NEMinMaxKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -400,8 +401,9 @@ void NEMinMaxLocationKernel::configure(const IImage *input, void *min, void *max
INEKernel::configure(win);
}
-void NEMinMaxLocationKernel::run(const Window &window)
+void NEMinMaxLocationKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NENonLinearFilterKernel.cpp b/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
index 03d1409be1..ba68de638b 100644
--- a/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
+++ b/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
@@ -930,8 +930,9 @@ void NENonLinearFilterKernel::non_linear_filter_generic(const Window &win)
input, output);
}
-void NENonLinearFilterKernel::run(const Window &window)
+void NENonLinearFilterKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp b/src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp
index ece7b9a10f..b7dfb59252 100644
--- a/src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp
@@ -495,8 +495,9 @@ void NENonMaximaSuppression3x3Kernel::configure(const ITensor *input, ITensor *o
INEKernel::configure(win);
}
-void NENonMaximaSuppression3x3Kernel::run(const Window &window)
+void NENonMaximaSuppression3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
index 0e15244f0e..b444c9d4df 100644
--- a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
@@ -373,8 +373,9 @@ void NENormalizationLayerKernel::normalize_fixed_point(const Window &window)
}
}
-void NENormalizationLayerKernel::run(const Window &window)
+void NENormalizationLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp b/src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp
index 33663eb57d..40dcc710de 100644
--- a/src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp
+++ b/src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp
@@ -639,8 +639,9 @@ void NEPixelWiseMultiplicationKernel::configure(const ITensor *input1, const ITe
INEKernel::configure(win);
}
-void NEPixelWiseMultiplicationKernel::run(const Window &window)
+void NEPixelWiseMultiplicationKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
index 63c7c8ea47..fdcbd5a898 100644
--- a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp
@@ -805,8 +805,9 @@ void NEPoolingLayerKernel::pooling7_f32(const Window &window_input, const Window
input, output);
}
-void NEPoolingLayerKernel::run(const Window &window)
+void NEPoolingLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEQuantizationLayerKernel.cpp b/src/core/NEON/kernels/NEQuantizationLayerKernel.cpp
index fbf7e1ba87..a596d835cb 100644
--- a/src/core/NEON/kernels/NEQuantizationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEQuantizationLayerKernel.cpp
@@ -66,8 +66,9 @@ void NEQuantizationLayerKernel::configure(const ITensor *input, ITensor *output,
INEKernel::configure(win);
}
-void NEQuantizationLayerKernel::run(const Window &window)
+void NEQuantizationLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp b/src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp
index fd6210021c..83ab611b67 100644
--- a/src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp
+++ b/src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp
@@ -79,8 +79,9 @@ void NEROIPoolingLayerKernel::configure(const ITensor *input, const IROIArray *r
INEKernel::configure(window);
}
-void NEROIPoolingLayerKernel::run(const Window &window)
+void NEROIPoolingLayerKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NEReductionOperationKernel.cpp b/src/core/NEON/kernels/NEReductionOperationKernel.cpp
index 5c8954609b..1a50ed8bfc 100644
--- a/src/core/NEON/kernels/NEReductionOperationKernel.cpp
+++ b/src/core/NEON/kernels/NEReductionOperationKernel.cpp
@@ -141,8 +141,9 @@ void NEReductionOperationKernel::configure(const ITensor *input, ITensor *output
INEKernel::configure(win);
}
-void NEReductionOperationKernel::run(const Window &window)
+void NEReductionOperationKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NERemapKernel.cpp b/src/core/NEON/kernels/NERemapKernel.cpp
index c3c44a5f32..2dbabca2e3 100644
--- a/src/core/NEON/kernels/NERemapKernel.cpp
+++ b/src/core/NEON/kernels/NERemapKernel.cpp
@@ -216,8 +216,9 @@ void NERemapKernel::remap_bilinear(const Window &window)
in, out, mapx, mapy);
}
-void NERemapKernel::run(const Window &window)
+void NERemapKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEScaleKernel.cpp b/src/core/NEON/kernels/NEScaleKernel.cpp
index ae164eb979..7ec4212227 100644
--- a/src/core/NEON/kernels/NEScaleKernel.cpp
+++ b/src/core/NEON/kernels/NEScaleKernel.cpp
@@ -363,8 +363,9 @@ void NEScaleKernel::scale_area(const Window &window)
in, out);
}
-void NEScaleKernel::run(const Window &window)
+void NEScaleKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEScharr3x3Kernel.cpp b/src/core/NEON/kernels/NEScharr3x3Kernel.cpp
index 183df1efcb..f23c31bc0a 100644
--- a/src/core/NEON/kernels/NEScharr3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NEScharr3x3Kernel.cpp
@@ -135,8 +135,9 @@ BorderSize NEScharr3x3Kernel::border_size() const
return BorderSize(1);
}
-void NEScharr3x3Kernel::run(const Window &window)
+void NEScharr3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NESobel3x3Kernel.cpp b/src/core/NEON/kernels/NESobel3x3Kernel.cpp
index ab08a1cfeb..5a80630a76 100644
--- a/src/core/NEON/kernels/NESobel3x3Kernel.cpp
+++ b/src/core/NEON/kernels/NESobel3x3Kernel.cpp
@@ -88,8 +88,9 @@ void NESobel3x3Kernel::configure(const ITensor *input, ITensor *output_x, ITenso
INEKernel::configure(win);
}
-void NESobel3x3Kernel::run(const Window &window)
+void NESobel3x3Kernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NESobel5x5Kernel.cpp b/src/core/NEON/kernels/NESobel5x5Kernel.cpp
index 488eee1176..30e7817aa4 100644
--- a/src/core/NEON/kernels/NESobel5x5Kernel.cpp
+++ b/src/core/NEON/kernels/NESobel5x5Kernel.cpp
@@ -90,8 +90,9 @@ void NESobel5x5HorKernel::configure(const ITensor *input, ITensor *output_x, ITe
INEKernel::configure(win);
}
-void NESobel5x5HorKernel::run(const Window &window)
+void NESobel5x5HorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -261,8 +262,9 @@ void NESobel5x5VertKernel::configure(ITensor *input_x, ITensor *input_y, ITensor
INEKernel::configure(win);
}
-void NESobel5x5VertKernel::run(const Window &window)
+void NESobel5x5VertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NESobel7x7Kernel.cpp b/src/core/NEON/kernels/NESobel7x7Kernel.cpp
index 9761942c69..4cc80f8e2e 100644
--- a/src/core/NEON/kernels/NESobel7x7Kernel.cpp
+++ b/src/core/NEON/kernels/NESobel7x7Kernel.cpp
@@ -193,8 +193,9 @@ void NESobel7x7HorKernel::configure(const ITensor *input, ITensor *output_x, ITe
INEKernel::configure(win);
}
-void NESobel7x7HorKernel::run(const Window &window)
+void NESobel7x7HorKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
@@ -351,8 +352,9 @@ void NESobel7x7VertKernel::configure(const ITensor *input_x, const ITensor *inpu
INEKernel::configure(win);
}
-void NESobel7x7VertKernel::run(const Window &window)
+void NESobel7x7VertKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp b/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp
index 4fed16b5fa..648dac46c0 100644
--- a/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp
+++ b/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp
@@ -239,8 +239,9 @@ void NELogits1DMaxKernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NELogits1DMaxKernel::run(const Window &window)
+void NELogits1DMaxKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -560,8 +561,9 @@ void NELogits1DShiftExpSumKernel::configure(const ITensor *input, const ITensor
INEKernel::configure(win);
}
-void NELogits1DShiftExpSumKernel::run(const Window &window)
+void NELogits1DShiftExpSumKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
@@ -758,8 +760,9 @@ void NELogits1DNormKernel::configure(const ITensor *input, const ITensor *sum, I
INEKernel::configure(win);
}
-void NELogits1DNormKernel::run(const Window &window)
+void NELogits1DNormKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NETableLookupKernel.cpp b/src/core/NEON/kernels/NETableLookupKernel.cpp
index f0b58d82f6..958f4a9cfb 100644
--- a/src/core/NEON/kernels/NETableLookupKernel.cpp
+++ b/src/core/NEON/kernels/NETableLookupKernel.cpp
@@ -133,8 +133,9 @@ void NETableLookupKernel::configure(const ITensor *input, const ILut *lut, ITens
INESimpleKernel::configure(input, output, num_num_elems_processed_per_iteration);
}
-void NETableLookupKernel::run(const Window &window)
+void NETableLookupKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INESimpleKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEThresholdKernel.cpp b/src/core/NEON/kernels/NEThresholdKernel.cpp
index 72031195d9..5ef06931cc 100644
--- a/src/core/NEON/kernels/NEThresholdKernel.cpp
+++ b/src/core/NEON/kernels/NEThresholdKernel.cpp
@@ -119,8 +119,9 @@ inline void NEThresholdKernel::run_range(const Window &window)
input, output);
}
-void NEThresholdKernel::run(const Window &window)
+void NEThresholdKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NETransposeKernel.cpp b/src/core/NEON/kernels/NETransposeKernel.cpp
index 732a0ef4f6..1cfaafe93a 100644
--- a/src/core/NEON/kernels/NETransposeKernel.cpp
+++ b/src/core/NEON/kernels/NETransposeKernel.cpp
@@ -233,8 +233,9 @@ void NETransposeKernel::configure(const ITensor *input, ITensor *output)
INEKernel::configure(win);
}
-void NETransposeKernel::run(const Window &window)
+void NETransposeKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEWarpKernel.cpp b/src/core/NEON/kernels/NEWarpKernel.cpp
index a1ec1a0b51..b13e99e800 100644
--- a/src/core/NEON/kernels/NEWarpKernel.cpp
+++ b/src/core/NEON/kernels/NEWarpKernel.cpp
@@ -54,8 +54,9 @@ BorderSize INEWarpKernel::border_size() const
return BorderSize(1);
}
-void INEWarpKernel::run(const Window &window)
+void INEWarpKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
ARM_COMPUTE_ERROR_ON(_func == nullptr);
diff --git a/src/core/NEON/kernels/NEWeightsReshapeKernel.cpp b/src/core/NEON/kernels/NEWeightsReshapeKernel.cpp
index d685ec7962..d52e88c37a 100644
--- a/src/core/NEON/kernels/NEWeightsReshapeKernel.cpp
+++ b/src/core/NEON/kernels/NEWeightsReshapeKernel.cpp
@@ -165,8 +165,9 @@ void NEWeightsReshapeKernel::configure(const ITensor *input, const ITensor *bias
INEKernel::configure(window);
}
-void NEWeightsReshapeKernel::run(const Window &window)
+void NEWeightsReshapeKernel::run(const Window &window, const ThreadInfo &info)
{
+ ARM_COMPUTE_UNUSED(info);
ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window);
diff --git a/src/runtime/CL/functions/CLHOGMultiDetection.cpp b/src/runtime/CL/functions/CLHOGMultiDetection.cpp
index 6def2dedc9..9eed355710 100644
--- a/src/runtime/CL/functions/CLHOGMultiDetection.cpp
+++ b/src/runtime/CL/functions/CLHOGMultiDetection.cpp
@@ -29,6 +29,7 @@
#include "arm_compute/runtime/CL/CLArray.h"
#include "arm_compute/runtime/CL/CLScheduler.h"
#include "arm_compute/runtime/CL/CLTensor.h"
+#include "arm_compute/runtime/Scheduler.h"
#include "support/ToolchainSupport.h"
using namespace arm_compute;
@@ -246,7 +247,7 @@ void CLHOGMultiDetection::run()
{
// Map detection windows array before computing non maxima suppression
_detection_windows->map(CLScheduler::get().queue(), true);
- _non_maxima_kernel->run(_non_maxima_kernel->window());
+ Scheduler::get().schedule(_non_maxima_kernel.get(), Window::DimY);
_detection_windows->unmap(CLScheduler::get().queue());
}
}
diff --git a/src/runtime/CL/functions/CLHarrisCorners.cpp b/src/runtime/CL/functions/CLHarrisCorners.cpp
index 8f9fcdc58f..2140240753 100644
--- a/src/runtime/CL/functions/CLHarrisCorners.cpp
+++ b/src/runtime/CL/functions/CLHarrisCorners.cpp
@@ -165,6 +165,6 @@ void CLHarrisCorners::run()
_nonmax.unmap();
_corners->map(CLScheduler::get().queue(), true);
- _sort_euclidean.run(_sort_euclidean.window());
+ Scheduler::get().schedule(&_sort_euclidean, Window::DimY);
_corners->unmap(CLScheduler::get().queue());
}
diff --git a/src/runtime/CPP/CPPScheduler.cpp b/src/runtime/CPP/CPPScheduler.cpp
index 2a321a1101..9cc3f033c2 100644
--- a/src/runtime/CPP/CPPScheduler.cpp
+++ b/src/runtime/CPP/CPPScheduler.cpp
@@ -52,7 +52,7 @@ public:
* This function will return as soon as the kernel has been sent to the worker thread.
* wait() needs to be called to ensure the execution is complete.
*/
- void start(ICPPKernel *kernel, const Window &window);
+ void start(ICPPKernel *kernel, const Window &window, const ThreadInfo &info);
/** Wait for the current kernel execution to complete
*/
void wait();
@@ -64,13 +64,14 @@ private:
std::thread _thread;
ICPPKernel *_kernel{ nullptr };
Window _window;
+ ThreadInfo _info;
sem_t _wait_for_work;
sem_t _job_complete;
std::exception_ptr _current_exception;
};
Thread::Thread()
- : _thread(), _window(), _wait_for_work(), _job_complete(), _current_exception(nullptr)
+ : _thread(), _window(), _info(), _wait_for_work(), _job_complete(), _current_exception(nullptr)
{
int ret = sem_init(&_wait_for_work, 0, 0);
ARM_COMPUTE_ERROR_ON(ret < 0);
@@ -87,7 +88,7 @@ Thread::~Thread()
{
ARM_COMPUTE_ERROR_ON(!_thread.joinable());
- start(nullptr, Window());
+ start(nullptr, Window(), ThreadInfo());
_thread.join();
int ret = sem_destroy(&_wait_for_work);
@@ -99,10 +100,11 @@ Thread::~Thread()
ARM_COMPUTE_UNUSED(ret);
}
-void Thread::start(ICPPKernel *kernel, const Window &window)
+void Thread::start(ICPPKernel *kernel, const Window &window, const ThreadInfo &info)
{
_kernel = kernel;
_window = window;
+ _info = info;
int ret = sem_post(&_wait_for_work);
ARM_COMPUTE_UNUSED(ret);
ARM_COMPUTE_ERROR_ON(ret < 0);
@@ -133,7 +135,7 @@ void Thread::worker_thread()
try
{
_window.validate();
- _kernel->run(_window);
+ _kernel->run(_window, _info);
}
catch(...)
{
@@ -163,8 +165,7 @@ CPPScheduler &CPPScheduler::get()
CPPScheduler::CPPScheduler()
: _num_threads(std::thread::hardware_concurrency()),
- _threads(std::unique_ptr<Thread[], void(*)(Thread *)>(new Thread[std::thread::hardware_concurrency() - 1], delete_threads)),
- _target(CPUTarget::INTRINSICS)
+ _threads(std::unique_ptr<Thread[], void(*)(Thread *)>(new Thread[std::thread::hardware_concurrency() - 1], delete_threads))
{
}
@@ -179,50 +180,42 @@ unsigned int CPPScheduler::num_threads() const
return _num_threads;
}
-void CPPScheduler::set_target(CPUTarget target)
-{
- _target = target;
-}
-
-CPUTarget CPPScheduler::target() const
-{
- return _target;
-}
-
void CPPScheduler::schedule(ICPPKernel *kernel, unsigned int split_dimension)
{
ARM_COMPUTE_ERROR_ON_MSG(!kernel, "The child class didn't set the kernel");
/** [Scheduler example] */
+ ThreadInfo info;
+ info.cpu = _target;
+
const Window &max_window = kernel->window();
const unsigned int num_iterations = max_window.num_iterations(split_dimension);
- const unsigned int num_threads = std::min(num_iterations, _num_threads);
+ info.num_threads = std::min(num_iterations, _num_threads);
- if(!kernel->is_parallelisable() || 1 == num_threads)
+ if(!kernel->is_parallelisable() || info.num_threads == 1)
{
- kernel->run(max_window);
+ kernel->run(max_window, info);
}
else
{
- for(unsigned int t = 0; t < num_threads; ++t)
+ for(int t = 0; t < info.num_threads; ++t)
{
- Window win = max_window.split_window(split_dimension, t, num_threads);
- win.set_thread_id(t);
- win.set_num_threads(num_threads);
+ Window win = max_window.split_window(split_dimension, t, info.num_threads);
+ info.thread_id = t;
- if(t != num_threads - 1)
+ if(t != info.num_threads - 1)
{
- _threads[t].start(kernel, win);
+ _threads[t].start(kernel, win, info);
}
else
{
- kernel->run(win);
+ kernel->run(win, info);
}
}
try
{
- for(unsigned int t = 1; t < num_threads; ++t)
+ for(int t = 1; t < info.num_threads; ++t)
{
_threads[t - 1].wait();
}
diff --git a/src/runtime/CPP/SingleThreadScheduler.cpp b/src/runtime/CPP/SingleThreadScheduler.cpp
index f086813e91..4e46a59fd0 100644
--- a/src/runtime/CPP/SingleThreadScheduler.cpp
+++ b/src/runtime/CPP/SingleThreadScheduler.cpp
@@ -38,12 +38,15 @@ SingleThreadScheduler &SingleThreadScheduler::get()
void SingleThreadScheduler::set_num_threads(unsigned int num_threads)
{
ARM_COMPUTE_UNUSED(num_threads);
+ ARM_COMPUTE_ERROR_ON(num_threads != 1);
}
void SingleThreadScheduler::schedule(ICPPKernel *kernel, unsigned int split_dimension)
{
ARM_COMPUTE_UNUSED(split_dimension);
- kernel->run(kernel->window());
+ ThreadInfo info;
+ info.cpu = _target;
+ kernel->run(kernel->window(), info);
}
unsigned int SingleThreadScheduler::num_threads() const
diff --git a/src/runtime/NEON/INESimpleFunction.cpp b/src/runtime/NEON/INESimpleFunction.cpp
index a748a1e4ad..23d9872294 100644
--- a/src/runtime/NEON/INESimpleFunction.cpp
+++ b/src/runtime/NEON/INESimpleFunction.cpp
@@ -35,6 +35,6 @@ INESimpleFunction::INESimpleFunction() // NOLINT
void INESimpleFunction::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(_kernel.get(), Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NECannyEdge.cpp b/src/runtime/NEON/functions/NECannyEdge.cpp
index ca8877e2fc..318cea2342 100644
--- a/src/runtime/NEON/functions/NECannyEdge.cpp
+++ b/src/runtime/NEON/functions/NECannyEdge.cpp
@@ -161,7 +161,7 @@ void NECannyEdge::run()
_sobel->run();
// Fill border before non-maxima suppression. Nop for border mode undefined.
- _border_mag_gradient.run(_border_mag_gradient.window());
+ NEScheduler::get().schedule(&_border_mag_gradient, Window::DimZ);
// Run gradient
NEScheduler::get().schedule(_gradient.get(), Window::DimY);
@@ -173,8 +173,8 @@ void NECannyEdge::run()
memset(_output->buffer(), 0, _output->info()->total_size());
// Fill border before edge trace
- _border_edge_trace.run(_border_edge_trace.window());
+ NEScheduler::get().schedule(&_border_edge_trace, Window::DimZ);
// Run edge tracing
- _edge_trace.run(_edge_trace.window());
+ NEScheduler::get().schedule(&_edge_trace, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NEConvolution.cpp b/src/runtime/NEON/functions/NEConvolution.cpp
index 4ad6450c67..249274ba32 100644
--- a/src/runtime/NEON/functions/NEConvolution.cpp
+++ b/src/runtime/NEON/functions/NEConvolution.cpp
@@ -94,7 +94,7 @@ void NEConvolutionSquare<matrix_size>::configure(ITensor *input, ITensor *output
template <unsigned int matrix_size>
void NEConvolutionSquare<matrix_size>::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
if(_is_separable)
{
diff --git a/src/runtime/NEON/functions/NEDerivative.cpp b/src/runtime/NEON/functions/NEDerivative.cpp
index c50db14746..81180307f6 100644
--- a/src/runtime/NEON/functions/NEDerivative.cpp
+++ b/src/runtime/NEON/functions/NEDerivative.cpp
@@ -47,6 +47,6 @@ void NEDerivative::configure(ITensor *input, ITensor *output_x, ITensor *output_
void NEDerivative::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_kernel, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp b/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp
index 2e3a6835dc..810efe539f 100644
--- a/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp
+++ b/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp
@@ -85,7 +85,7 @@ void NEDirectConvolutionLayer::configure(ITensor *input, const ITensor *weights,
void NEDirectConvolutionLayer::run()
{
- _input_border_handler.run(_input_border_handler.window());
+ NEScheduler::get().schedule(&_input_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_conv_kernel, Window::DimZ);
NEScheduler::get().schedule(&_accumulate_bias_kernel, Window::DimY);
diff --git a/src/runtime/NEON/functions/NEEqualizeHistogram.cpp b/src/runtime/NEON/functions/NEEqualizeHistogram.cpp
index f6ec677e44..70b93cae9e 100644
--- a/src/runtime/NEON/functions/NEEqualizeHistogram.cpp
+++ b/src/runtime/NEON/functions/NEEqualizeHistogram.cpp
@@ -55,7 +55,7 @@ void NEEqualizeHistogram::run()
NEScheduler::get().schedule(&_histogram_kernel, Window::DimY);
// Calculate cumulative distribution of histogram and create LUT.
- _cd_histogram_kernel.run(_cd_histogram_kernel.window());
+ NEScheduler::get().schedule(&_cd_histogram_kernel, Window::DimY);
// Map input to output using created LUT.
NEScheduler::get().schedule(&_map_histogram_kernel, Window::DimY);
diff --git a/src/runtime/NEON/functions/NEFastCorners.cpp b/src/runtime/NEON/functions/NEFastCorners.cpp
index 33a58f1904..265041fc42 100644
--- a/src/runtime/NEON/functions/NEFastCorners.cpp
+++ b/src/runtime/NEON/functions/NEFastCorners.cpp
@@ -88,7 +88,7 @@ void NEFastCorners::configure(IImage *input, float threshold, bool nonmax_suppre
void NEFastCorners::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_fast_corners_kernel, Window::DimY);
diff --git a/src/runtime/NEON/functions/NEGaussian5x5.cpp b/src/runtime/NEON/functions/NEGaussian5x5.cpp
index 69639d0d43..a1ce985633 100644
--- a/src/runtime/NEON/functions/NEGaussian5x5.cpp
+++ b/src/runtime/NEON/functions/NEGaussian5x5.cpp
@@ -54,7 +54,7 @@ void NEGaussian5x5::configure(ITensor *input, ITensor *output, BorderMode border
void NEGaussian5x5::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_kernel_hor, Window::DimY);
NEScheduler::get().schedule(&_kernel_vert, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NEGaussianPyramid.cpp b/src/runtime/NEON/functions/NEGaussianPyramid.cpp
index e857aabd3b..90bd5842eb 100644
--- a/src/runtime/NEON/functions/NEGaussianPyramid.cpp
+++ b/src/runtime/NEON/functions/NEGaussianPyramid.cpp
@@ -109,7 +109,7 @@ void NEGaussianPyramidHalf::run()
for(unsigned int i = 0; i < num_levels - 1; ++i)
{
- _border_handler[i].run(_border_handler[i].window());
+ NEScheduler::get().schedule(_border_handler.get() + i, Window::DimZ);
NEScheduler::get().schedule(_horizontal_reduction.get() + i, Window::DimY);
NEScheduler::get().schedule(_vertical_reduction.get() + i, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NEHOGMultiDetection.cpp b/src/runtime/NEON/functions/NEHOGMultiDetection.cpp
index 8b3d01423c..1a038a2f62 100644
--- a/src/runtime/NEON/functions/NEHOGMultiDetection.cpp
+++ b/src/runtime/NEON/functions/NEHOGMultiDetection.cpp
@@ -239,6 +239,6 @@ void NEHOGMultiDetection::run()
// Run non-maxima suppression kernel if enabled
if(_non_maxima_suppression)
{
- _non_maxima_kernel->run(_non_maxima_kernel->window());
+ NEScheduler::get().schedule(_non_maxima_kernel.get(), Window::DimY);
}
}
diff --git a/src/runtime/NEON/functions/NEHarrisCorners.cpp b/src/runtime/NEON/functions/NEHarrisCorners.cpp
index 24b2bcb5b3..7ec681dce9 100644
--- a/src/runtime/NEON/functions/NEHarrisCorners.cpp
+++ b/src/runtime/NEON/functions/NEHarrisCorners.cpp
@@ -207,8 +207,8 @@ void NEHarrisCorners::run()
_sobel->run();
// Fill border before harris score kernel
- _border_gx.run(_border_gx.window());
- _border_gy.run(_border_gy.window());
+ NEScheduler::get().schedule(&_border_gx, Window::DimZ);
+ NEScheduler::get().schedule(&_border_gy, Window::DimZ);
// Run harris score kernel
NEScheduler::get().schedule(_harris_score.get(), Window::DimY);
@@ -220,5 +220,5 @@ void NEHarrisCorners::run()
NEScheduler::get().schedule(&_candidates, Window::DimY);
// Run sort & euclidean distance
- _sort_euclidean.run(_sort_euclidean.window());
+ NEScheduler::get().schedule(&_sort_euclidean, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NEMeanStdDev.cpp b/src/runtime/NEON/functions/NEMeanStdDev.cpp
index ab8e72bf1d..2304bc80d7 100644
--- a/src/runtime/NEON/functions/NEMeanStdDev.cpp
+++ b/src/runtime/NEON/functions/NEMeanStdDev.cpp
@@ -43,6 +43,6 @@ void NEMeanStdDev::run()
_global_sum = 0;
_global_sum_squared = 0;
- _fill_border_kernel.run(_fill_border_kernel.window());
+ NEScheduler::get().schedule(&_fill_border_kernel, Window::DimZ);
NEScheduler::get().schedule(&_mean_stddev_kernel, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NESobel5x5.cpp b/src/runtime/NEON/functions/NESobel5x5.cpp
index 8967a22ba1..305d21122e 100644
--- a/src/runtime/NEON/functions/NESobel5x5.cpp
+++ b/src/runtime/NEON/functions/NESobel5x5.cpp
@@ -75,7 +75,7 @@ void NESobel5x5::configure(ITensor *input, ITensor *output_x, ITensor *output_y,
void NESobel5x5::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_sobel_hor, Window::DimY);
NEScheduler::get().schedule(&_sobel_vert, Window::DimY);
}
diff --git a/src/runtime/NEON/functions/NESobel7x7.cpp b/src/runtime/NEON/functions/NESobel7x7.cpp
index f628da9709..57fe028567 100644
--- a/src/runtime/NEON/functions/NESobel7x7.cpp
+++ b/src/runtime/NEON/functions/NESobel7x7.cpp
@@ -75,7 +75,7 @@ void NESobel7x7::configure(ITensor *input, ITensor *output_x, ITensor *output_y,
void NESobel7x7::run()
{
- _border_handler.run(_border_handler.window());
+ NEScheduler::get().schedule(&_border_handler, Window::DimZ);
NEScheduler::get().schedule(&_sobel_hor, Window::DimY);
NEScheduler::get().schedule(&_sobel_vert, Window::DimY);
}