aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core
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 /arm_compute/core
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 'arm_compute/core')
-rw-r--r--arm_compute/core/CPP/CPPTypes.h7
-rw-r--r--arm_compute/core/CPP/ICPPKernel.h15
-rw-r--r--arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h2
-rw-r--r--arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h2
-rw-r--r--arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEAccumulateKernel.h8
-rw-r--r--arm_compute/core/NEON/kernels/NEActivationLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEBox3x3Kernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NECannyEdgeKernel.h6
-rw-r--r--arm_compute/core/NEON/kernels/NEChannelCombineKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEChannelExtractKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NECol2ImKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEColorConvertKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEConvolutionKernel.h8
-rw-r--r--arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDepthConcatenateKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDepthConvertKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDerivativeKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDilateKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEErodeKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEFastCornersKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEFillArrayKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEFillBorderKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEFloorKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NEHistogramKernel.h14
-rw-r--r--arm_compute/core/NEON/kernels/NEIm2ColKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEIntegralImageKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEL2NormalizeKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NELKTrackerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEReductionOperationKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NERemapKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEScaleKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NESobel3x3Kernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NESobel5x5Kernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NESobel7x7Kernel.h4
-rw-r--r--arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h6
-rw-r--r--arm_compute/core/NEON/kernels/NETableLookupKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEThresholdKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NETransposeKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEWarpKernel.h2
-rw-r--r--arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h2
-rw-r--r--arm_compute/core/Window.h36
-rw-r--r--arm_compute/core/Window.inl16
80 files changed, 120 insertions, 156 deletions
diff --git a/arm_compute/core/CPP/CPPTypes.h b/arm_compute/core/CPP/CPPTypes.h
index 4e156ea78e..19036525d5 100644
--- a/arm_compute/core/CPP/CPPTypes.h
+++ b/arm_compute/core/CPP/CPPTypes.h
@@ -47,5 +47,12 @@ enum class CPUTarget
A75 = (ARMV8_2 | A7x | 0x5),
A75_DOT = (A75 | DOT),
};
+
+struct ThreadInfo
+{
+ int thread_id{ 0 };
+ int num_threads{ 1 };
+ CPUTarget cpu{ CPUTarget::INTRINSICS };
+};
}
#endif /* __ARM_COMPUTE_CPP_TYPES_H__ */
diff --git a/arm_compute/core/CPP/ICPPKernel.h b/arm_compute/core/CPP/ICPPKernel.h
index 9684408987..2e5600f5ff 100644
--- a/arm_compute/core/CPP/ICPPKernel.h
+++ b/arm_compute/core/CPP/ICPPKernel.h
@@ -47,20 +47,9 @@ public:
* @note The width of the window has to be a multiple of num_elems_processed_per_iteration().
*
* @param[in] window Region on which to execute the kernel. (Must be a region of the window returned by window())
+ * @param[in] info Info about executing thread and CPU.
*/
- virtual void run(const Window &window) = 0;
-
- /** Sets the target CPU architecture.
- *
- * @param[in] target CPU target.
- */
- void set_target(CPUTarget target)
- {
- _target = target;
- }
-
-protected:
- CPUTarget _target{ CPUTarget::INTRINSICS };
+ virtual void run(const Window &window, const ThreadInfo &info) = 0;
};
}
#endif /*__ARM_COMPUTE_ICPPKERNEL_H__ */
diff --git a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
index 28edb489ad..5309973f5d 100644
--- a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h
@@ -62,7 +62,7 @@ public:
void configure(const IImage *input, InternalKeypoint *output, int32_t *num_corner_candidates);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
int32_t *_num_corner_candidates; /**< Number of corner candidates */
diff --git a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
index bcb3026959..2a9c0473bb 100644
--- a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h
@@ -60,7 +60,7 @@ public:
void configure(IDetectionWindowArray *input_output, float min_distance);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
index b7a7d9ff9f..c6b47a512a 100644
--- a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
+++ b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h
@@ -56,7 +56,7 @@ public:
void configure(InternalKeypoint *in_out, IKeyPointArray *output, const int32_t *num_corner_candidates, float min_distance);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h b/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
index 9ef93ce67a..0590902fe7 100644
--- a/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
+++ b/arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h
@@ -60,7 +60,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised absolute difference functions
diff --git a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
index 12be3e4e7a..071e03820c 100644
--- a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h
@@ -48,7 +48,7 @@ public:
void configure(const ITensor *input, ITensor *accum);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
};
/** Interface for the accumulate weighted kernel
@@ -74,7 +74,7 @@ public:
void configure(const ITensor *input, float alpha, ITensor *accum);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
protected:
float _alpha;
@@ -86,7 +86,7 @@ class NEAccumulateWeightedFP16Kernel : public NEAccumulateWeightedKernel
{
public:
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
};
#else /* ARM_COMPUTE_ENABLE_FP16 */
using NEAccumulateWeightedFP16Kernel = NEAccumulateWeightedKernel;
@@ -113,7 +113,7 @@ public:
void configure(const ITensor *input, uint32_t shift, ITensor *accum);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
uint32_t _shift;
diff --git a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
index 2c88debfb4..5a6c4a5dbf 100644
--- a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h
@@ -61,7 +61,7 @@ public:
void configure(ITensor *input, ITensor *output, ActivationLayerInfo activation_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using ActivationFunction = ActivationLayerInfo::ActivationFunction;
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
index e28ad67ca4..d88ad379ba 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h
@@ -70,7 +70,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output, ConvertPolicy policy);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised add functions
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
index a11bf44458..1a4f0e643e 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
@@ -70,7 +70,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output, ConvertPolicy policy);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised sub functions
diff --git a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
index 8ac70be727..8e86e35040 100644
--- a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h
@@ -64,7 +64,7 @@ public:
void configure(ITensor *input, ITensor *output, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using BatchNormFunction = void(ITensor *input, ITensor *output, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon, const Window &window);
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
index b931445419..0882a33ef7 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h
@@ -57,7 +57,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input1; /**< Source tensor 1 */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
index e34eb0f5ae..7bbf68c435 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h
@@ -56,7 +56,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input; /**< Source tensor */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
index d2bae2660c..7cddb205fd 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h
@@ -57,7 +57,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input1; /**< Source tensor 1 */
diff --git a/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h b/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
index 9dea36e7e3..f7e5dc5286 100644
--- a/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h
@@ -57,7 +57,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input1; /**< Source tensor 1 */
diff --git a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
index 1f0fef03da..14db09a698 100644
--- a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h
@@ -42,7 +42,7 @@ public:
*/
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
@@ -53,7 +53,7 @@ class NEBox3x3FP16Kernel : public NEBox3x3Kernel
{
public:
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
};
#else /* ARM_COMPUTE_ENABLE_FP16 */
using NEBox3x3FP16Kernel = NEBox3x3Kernel;
diff --git a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
index b86085f439..0b5ebfb42b 100644
--- a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
+++ b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h
@@ -62,7 +62,7 @@ public:
virtual void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase, int32_t norm_type);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
protected:
/** Common signature for all the specialised gradient functions
@@ -129,7 +129,7 @@ public:
void configure(const ITensor *magnitude, const ITensor *phase, ITensor *output, int32_t upper_thr, int32_t lower_thr, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -178,7 +178,7 @@ public:
void configure(ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
bool is_parallelisable() const override;
diff --git a/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h b/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
index 8b669a4d28..94bddac6ef 100644
--- a/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
+++ b/arm_compute/core/NEON/kernels/NEChannelCombineKernel.h
@@ -71,7 +71,7 @@ public:
void configure(const IImage *plane0, const IImage *plane1, const IImage *plane2, IMultiImage *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h b/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
index 0715e1f8cb..42df4b8da1 100644
--- a/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
+++ b/arm_compute/core/NEON/kernels/NEChannelExtractKernel.h
@@ -68,7 +68,7 @@ public:
void configure(const IMultiImage *input, Channel channel, IImage *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Extract one channel from a two channel planar tensor.
diff --git a/arm_compute/core/NEON/kernels/NECol2ImKernel.h b/arm_compute/core/NEON/kernels/NECol2ImKernel.h
index f6bc2152da..43423c008a 100644
--- a/arm_compute/core/NEON/kernels/NECol2ImKernel.h
+++ b/arm_compute/core/NEON/kernels/NECol2ImKernel.h
@@ -74,7 +74,7 @@ public:
void configure(const ITensor *input, ITensor *output, std::pair<unsigned int, unsigned int> convolved_dims);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Template function to run the col2im
diff --git a/arm_compute/core/NEON/kernels/NEColorConvertKernel.h b/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
index 2297218117..ded8b31200 100644
--- a/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
+++ b/arm_compute/core/NEON/kernels/NEColorConvertKernel.h
@@ -76,7 +76,7 @@ public:
void configure(const IMultiImage *input, IMultiImage *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using ColorConvertFunction = void(const void *__restrict input_ptr, void *__restrict output_ptr, const Window &win);
diff --git a/arm_compute/core/NEON/kernels/NEConvolutionKernel.h b/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
index 588a228a5d..694b58c81f 100644
--- a/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEConvolutionKernel.h
@@ -68,7 +68,7 @@ public:
void configure(const ITensor *input, ITensor *output, const int16_t *conv, uint32_t scale, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -111,7 +111,7 @@ public:
void configure(const ITensor *input, ITensor *output, const int16_t *conv_row, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -152,7 +152,7 @@ public:
void configure(const ITensor *input, ITensor *output, const int16_t *conv_col, uint32_t scale, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -223,7 +223,7 @@ public:
void configure(const ITensor *input, ITensor *output, const int16_t *conv, uint32_t width, uint32_t height, uint32_t scale, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h b/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
index 67b8c6052d..8239225259 100644
--- a/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
+++ b/arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h
@@ -64,7 +64,7 @@ public:
void configure(const IImage *input, const IDistribution1D *distribution, IDistribution1D *cumulative_sum, ILut *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEDepthConcatenateKernel.h b/arm_compute/core/NEON/kernels/NEDepthConcatenateKernel.h
index b22d37bfe6..369ec3de1a 100644
--- a/arm_compute/core/NEON/kernels/NEDepthConcatenateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthConcatenateKernel.h
@@ -62,7 +62,7 @@ public:
void configure(const ITensor *input, unsigned int depth_offset, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEDepthConvertKernel.h b/arm_compute/core/NEON/kernels/NEDepthConvertKernel.h
index ad8d152bbf..6e338e5d95 100644
--- a/arm_compute/core/NEON/kernels/NEDepthConvertKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDepthConvertKernel.h
@@ -71,7 +71,7 @@ public:
void configure(ITensor *input, ITensor *output, ConvertPolicy policy, uint32_t shift = 0);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
index 4b26fd54e0..095a833ab4 100644
--- a/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h
@@ -56,7 +56,7 @@ public:
void configure(const ITensor *input, ITensor *output, const float *min, const float *max);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NEDerivativeKernel.h b/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
index abb8a894c0..5ffa4afdfa 100644
--- a/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDerivativeKernel.h
@@ -58,7 +58,7 @@ public:
void configure(const ITensor *input, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEDilateKernel.h b/arm_compute/core/NEON/kernels/NEDilateKernel.h
index 05f148a1fd..156957ceea 100644
--- a/arm_compute/core/NEON/kernels/NEDilateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDilateKernel.h
@@ -42,7 +42,7 @@ public:
*/
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
}
diff --git a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.h b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.h
index 87788ba389..b68641fdc1 100644
--- a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerBiasAccumulateKernel.h
@@ -59,7 +59,7 @@ public:
void configure(ITensor *input, const ITensor *bias, ITensor *output = nullptr);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using BiasAccumulateKernel = void(ITensor *input, const ITensor *bias, const Window window, ITensor *output);
diff --git a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
index 5672782cba..4de6c12218 100644
--- a/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h
@@ -64,7 +64,7 @@ public:
void configure(const ITensor *input, const ITensor *weights, ITensor *output, const PadStrideInfo &conv_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEErodeKernel.h b/arm_compute/core/NEON/kernels/NEErodeKernel.h
index 86dc217cc0..df0e253f4d 100644
--- a/arm_compute/core/NEON/kernels/NEErodeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEErodeKernel.h
@@ -42,7 +42,7 @@ public:
*/
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
}
diff --git a/arm_compute/core/NEON/kernels/NEFastCornersKernel.h b/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
index b30ef49c44..1241426dc2 100644
--- a/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFastCornersKernel.h
@@ -59,7 +59,7 @@ public:
void configure(const IImage *input, IImage *output, uint8_t threshold, bool non_max_suppression, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEFillArrayKernel.h b/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
index 38f8a01288..4f1ac2bc78 100644
--- a/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillArrayKernel.h
@@ -61,7 +61,7 @@ public:
void configure(const IImage *input, uint8_t threshold, IKeyPointArray *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEFillBorderKernel.h b/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
index 3ec66115e2..50cb417eb0 100644
--- a/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillBorderKernel.h
@@ -62,7 +62,7 @@ public:
void configure(ITensor *tensor, BorderSize border_size, BorderMode border_mode, const PixelValue &constant_border_value = PixelValue());
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
template <typename T>
diff --git a/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h b/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
index 61e6e46463..6922c332cc 100644
--- a/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h
@@ -61,7 +61,7 @@ public:
void configure(ITensor *input, BorderSize border_size, const PixelValue &constant_border_value = PixelValue());
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
template <typename T>
diff --git a/arm_compute/core/NEON/kernels/NEFloorKernel.h b/arm_compute/core/NEON/kernels/NEFloorKernel.h
index 3b925b093b..76b02a56ef 100644
--- a/arm_compute/core/NEON/kernels/NEFloorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEFloorKernel.h
@@ -41,7 +41,7 @@ public:
*/
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
};
}
#endif /*__ARM_COMPUTE_NEFLOORKERNEL_H__ */
diff --git a/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h b/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
index 84b82d0ffc..74ef3045a4 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h
@@ -62,7 +62,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the transpose functions
diff --git a/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
index ba4dcc3373..8822a97d4d 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h
@@ -72,7 +72,7 @@ public:
*/
void configure(const ITensor *input0, const ITensor *input1, ITensor *output, int32_t a_offset, int32_t b_offset, int32_t output_offset, int32_t output_mult_int, int32_t shift);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input0;
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
index 1eed4e7a84..202f96744b 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h
@@ -53,7 +53,7 @@ public:
void configure(ITensor *accum, const ITensor *biases);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
ITensor *_accum;
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
index 5cdcc95ee9..79ccb913a4 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h
@@ -62,7 +62,7 @@ public:
void configure(const ITensor *input, ITensor *output, float beta);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the matrix addition functions
diff --git a/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
index e82fc6f5d7..afa457d8ba 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h
@@ -63,7 +63,7 @@ public:
void configure(const ITensor *input0, const ITensor *input1, ITensor *output, float alpha);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input0;
diff --git a/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h b/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
index 22c07e5c9a..58140bcd1d 100644
--- a/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h
@@ -76,7 +76,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
};
}
#endif /*__ARM_COMPUTE_NEGEMMTRANSPOSE1xWKERNEL_H__ */
diff --git a/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h b/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
index 763fab88f6..8ed3183176 100644
--- a/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h
@@ -43,7 +43,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
}
diff --git a/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h b/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
index 86b28907da..094e6d1885 100644
--- a/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h
@@ -46,7 +46,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -66,7 +66,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
}
diff --git a/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h b/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
index 40a6aa7375..ce03aa289a 100644
--- a/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h
@@ -56,7 +56,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -90,7 +90,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h b/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
index dd85778b8a..844bc33df1 100644
--- a/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h
@@ -59,7 +59,7 @@ public:
void configure(const ITensor *input_magnitude, const ITensor *input_phase, ITensor *output, const HOGInfo *hog_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised block normalization functions
@@ -113,7 +113,7 @@ public:
void configure(const ITensor *input, ITensor *output, const HOGInfo *hog_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised block normalization functions
diff --git a/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h b/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
index b6b9d3458a..6495ee74ac 100644
--- a/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h
@@ -63,7 +63,7 @@ public:
void configure(const ITensor *input, const IHOG *hog, IDetectionWindowArray *detection_windows, const Size2D &detection_window_stride, float threshold = 0.0f, uint16_t idx_class = 0);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
index 88d70657f6..4a468c220c 100644
--- a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h
@@ -89,7 +89,7 @@ public:
// Inherited methods overridden:
void configure(const IImage *input1, const IImage *input2, IImage *output, float norm_factor, float strength_thresh, float sensitivity, bool border_undefined) override;
BorderSize border_size() const override;
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised harris score functions */
@@ -110,7 +110,7 @@ public:
// Inherited methods overridden:
void configure(const IImage *input1, const IImage *input2, IImage *output, float norm_factor, float strength_thresh, float sensitivity, bool border_undefined) override;
BorderSize border_size() const override;
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using HarrisScoreFunction = void(const void *__restrict input1_ptr, const void *__restrict input2_ptr, void *__restrict output_ptr, int32_t input_stride,
diff --git a/arm_compute/core/NEON/kernels/NEHistogramKernel.h b/arm_compute/core/NEON/kernels/NEHistogramKernel.h
index 2c0f34b5a7..75d00e9d31 100644
--- a/arm_compute/core/NEON/kernels/NEHistogramKernel.h
+++ b/arm_compute/core/NEON/kernels/NEHistogramKernel.h
@@ -77,7 +77,7 @@ public:
void configure(const IImage *input, IDistribution1D *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Function to merge multiple partial histograms.
@@ -95,15 +95,17 @@ private:
void merge_min(uint8_t *global_min, const uint8_t &local_min);
/** Function to perform histogram on the given window
*
- * @param[in] win Region on which to execute the kernel
+ * @param[in] win Region on which to execute the kernel
+ * @param[in] info Info about the executing thread
*/
- void histogram_U8(Window win);
+ void histogram_U8(Window win, const ThreadInfo &info);
/** Function to perform histogram on the given window where histogram is
* of fixed size 256 without ranges and offsets.
*
- * @param[in] win Region on which to execute the kernel
+ * @param[in] win Region on which to execute the kernel
+ * @param[in] info Info about the executing thread
*/
- void histogram_fixed_U8(Window win);
+ void histogram_fixed_U8(Window win, const ThreadInfo &info);
/** Pre-calculate the pixel windowing for every possible pixel
*
* Calculate (V - offset) * numBins / range where V is every possible pixel value.
@@ -115,7 +117,7 @@ private:
*
* @param[in] window Region on which to execute the kernel.
*/
- using HistogramFunctionPtr = void (NEHistogramKernel::*)(Window window);
+ using HistogramFunctionPtr = void (NEHistogramKernel::*)(Window window, const ThreadInfo &info);
HistogramFunctionPtr _func; ///< Histogram function to use for the particular image types passed to configure()
const IImage *_input;
diff --git a/arm_compute/core/NEON/kernels/NEIm2ColKernel.h b/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
index 87d7cc0a8b..8ef27ea52d 100644
--- a/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
+++ b/arm_compute/core/NEON/kernels/NEIm2ColKernel.h
@@ -82,7 +82,7 @@ public:
void configure(const ITensor *input, ITensor *output, const Size2D &kernel_dims, const PadStrideInfo &conv_info, bool has_bias);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Template function to run the im2col optimised for the fully connected layer case
diff --git a/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h b/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
index 13647889ab..b3493f41d7 100644
--- a/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
+++ b/arm_compute/core/NEON/kernels/NEIntegralImageKernel.h
@@ -42,7 +42,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
bool is_parallelisable() const override;
};
diff --git a/arm_compute/core/NEON/kernels/NEL2NormalizeKernel.h b/arm_compute/core/NEON/kernels/NEL2NormalizeKernel.h
index 545aeaa1d3..fa1795510e 100644
--- a/arm_compute/core/NEON/kernels/NEL2NormalizeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEL2NormalizeKernel.h
@@ -57,7 +57,7 @@ public:
void configure(const ITensor *input, const ITensor *sum, ITensor *output, unsigned int axis, float epsilon);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
index 9ab7f91092..d4e1cbafb7 100644
--- a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
+++ b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h
@@ -91,7 +91,7 @@ public:
size_t level, size_t num_levels, float pyramid_scale);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h b/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
index a2c6b51101..7044b2e4aa 100644
--- a/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
+++ b/arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h
@@ -53,7 +53,7 @@ public:
void configure(const ITensor *input0, const ITensor *input1, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input0;
diff --git a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
index 8285e5ed39..94ad0aa27c 100644
--- a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h
@@ -61,7 +61,7 @@ public:
void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Function to perform magnitude on the given window
@@ -125,7 +125,7 @@ public:
void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Function to perform magnitude on the given window
diff --git a/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h b/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
index ce2c5eb4fa..0106d813f7 100644
--- a/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h
@@ -62,7 +62,7 @@ public:
void configure(const IImage *input, float *mean, uint64_t *global_sum, float *stddev = nullptr, uint64_t *global_sum_squared = nullptr);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
diff --git a/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h b/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
index dee1aadfb9..66bfc5dcdd 100644
--- a/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h
@@ -43,7 +43,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
};
}
diff --git a/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h b/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
index ddaa01773b..1d9aaf5df7 100644
--- a/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h
@@ -63,7 +63,7 @@ public:
void reset();
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Performs the min/max algorithm on U8 images on a given window.
@@ -130,7 +130,7 @@ public:
uint32_t *min_count = nullptr, uint32_t *max_count = nullptr);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h b/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
index ede0294a73..a9f659c9b8 100644
--- a/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
+++ b/arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h
@@ -60,7 +60,7 @@ public:
void configure(const ITensor *input, ITensor *output, NonLinearFilterFunction function, unsigned int mask_size, MatrixPattern pattern, const uint8_t *mask, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
index 68f11d8ffb..e2b691425e 100644
--- a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h
@@ -61,7 +61,7 @@ public:
void configure(const ITensor *input, ITensor *output, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
protected:
diff --git a/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h b/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
index e24e481f46..00750ebe97 100644
--- a/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h
@@ -59,7 +59,7 @@ public:
void configure(const ITensor *input, const ITensor *input_squared, ITensor *output, NormalizationLayerInfo norm_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
index bf96c9026c..35dda29c67 100644
--- a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h
@@ -64,7 +64,7 @@ public:
void configure(const ITensor *input1, const ITensor *input2, ITensor *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the specialised multiplication functions with integer scaling factor
diff --git a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
index 8a938a7f34..956db6a67c 100644
--- a/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h
@@ -55,7 +55,7 @@ public:
void configure(const ITensor *input, ITensor *output, const PoolingLayerInfo &pool_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
index 9867e1db03..92cd142653 100644
--- a/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h
@@ -56,7 +56,7 @@ public:
void configure(const ITensor *input, ITensor *output, const float *min, const float *max);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h b/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
index 40f79acc79..5610420491 100644
--- a/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h
@@ -64,7 +64,7 @@ public:
void configure(const ITensor *input, const IROIArray *rois, ITensor *output, const ROIPoolingLayerInfo &pool_info);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
const ITensor *_input;
diff --git a/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h b/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
index 147e8351d6..e41f415ead 100644
--- a/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
+++ b/arm_compute/core/NEON/kernels/NEReductionOperationKernel.h
@@ -55,7 +55,7 @@ public:
*/
void configure(const ITensor *input, ITensor *output, unsigned int axis, ReductionOperation op);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NERemapKernel.h b/arm_compute/core/NEON/kernels/NERemapKernel.h
index f9eae68ee8..eeeef36b6e 100644
--- a/arm_compute/core/NEON/kernels/NERemapKernel.h
+++ b/arm_compute/core/NEON/kernels/NERemapKernel.h
@@ -59,7 +59,7 @@ public:
void configure(const ITensor *input, const ITensor *map_x, const ITensor *map_y, ITensor *output, InterpolationPolicy policy);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** function to perform nearest interpolation on the given window */
diff --git a/arm_compute/core/NEON/kernels/NEScaleKernel.h b/arm_compute/core/NEON/kernels/NEScaleKernel.h
index 03e26520b5..3cac023d8a 100644
--- a/arm_compute/core/NEON/kernels/NEScaleKernel.h
+++ b/arm_compute/core/NEON/kernels/NEScaleKernel.h
@@ -63,7 +63,7 @@ public:
void configure(const ITensor *input, const ITensor *dx, const ITensor *dy, const ITensor *offsets, ITensor *output, InterpolationPolicy policy, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h b/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
index c618456d49..78f0682b7a 100644
--- a/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h
@@ -68,7 +68,7 @@ public:
void configure(const ITensor *input, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h b/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
index 246dd83573..8e5ba86b80 100644
--- a/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel3x3Kernel.h
@@ -68,7 +68,7 @@ public:
void configure(const ITensor *input, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h b/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
index 49c1c41e6d..5dfce8d798 100644
--- a/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel5x5Kernel.h
@@ -61,7 +61,7 @@ public:
void configure(const ITensor *input, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -103,7 +103,7 @@ public:
void configure(ITensor *input_x, ITensor *input_y, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h b/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
index 4bff8596b8..b04aaaeed0 100644
--- a/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
+++ b/arm_compute/core/NEON/kernels/NESobel7x7Kernel.h
@@ -61,7 +61,7 @@ public:
void configure(const ITensor *input, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -107,7 +107,7 @@ public:
void configure(const ITensor *input_x, const ITensor *input_y, ITensor *output_x, ITensor *output_y, bool border_undefined);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
diff --git a/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h b/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
index 2caef55498..4897a39421 100644
--- a/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h
@@ -45,7 +45,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
BorderSize border_size() const override;
private:
@@ -82,7 +82,7 @@ public:
void configure(const ITensor *input, const ITensor *max, ITensor *output, ITensor *sum);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using Logits1DShiftExpSumFunction = void(const ITensor *in, const ITensor *max, ITensor *out, ITensor *sum, const Window &window);
@@ -120,7 +120,7 @@ public:
void configure(const ITensor *input, const ITensor *sum, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using Logits1DNormFunction = void(const ITensor *in, const ITensor *sum, ITensor *out, const Window &window);
diff --git a/arm_compute/core/NEON/kernels/NETableLookupKernel.h b/arm_compute/core/NEON/kernels/NETableLookupKernel.h
index b3963e5a75..2cac5c4957 100644
--- a/arm_compute/core/NEON/kernels/NETableLookupKernel.h
+++ b/arm_compute/core/NEON/kernels/NETableLookupKernel.h
@@ -54,7 +54,7 @@ public:
void configure(const ITensor *input, const ILut *lut, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Perform table lookup on a given window.
diff --git a/arm_compute/core/NEON/kernels/NEThresholdKernel.h b/arm_compute/core/NEON/kernels/NEThresholdKernel.h
index 778176293f..ab6f6f75d2 100644
--- a/arm_compute/core/NEON/kernels/NEThresholdKernel.h
+++ b/arm_compute/core/NEON/kernels/NEThresholdKernel.h
@@ -60,7 +60,7 @@ public:
void configure(const ITensor *input, ITensor *output, uint8_t threshold, uint8_t false_value, uint8_t true_value, ThresholdType type, uint8_t upper);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** run binary thresholding on the given window */
diff --git a/arm_compute/core/NEON/kernels/NETransposeKernel.h b/arm_compute/core/NEON/kernels/NETransposeKernel.h
index 2f757f18eb..6399149a9c 100644
--- a/arm_compute/core/NEON/kernels/NETransposeKernel.h
+++ b/arm_compute/core/NEON/kernels/NETransposeKernel.h
@@ -59,7 +59,7 @@ public:
void configure(const ITensor *input, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
/** Common signature for all the transpose functions
diff --git a/arm_compute/core/NEON/kernels/NEWarpKernel.h b/arm_compute/core/NEON/kernels/NEWarpKernel.h
index 39f6496edb..c24adb80ab 100644
--- a/arm_compute/core/NEON/kernels/NEWarpKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWarpKernel.h
@@ -58,7 +58,7 @@ public:
virtual void configure(const ITensor *input, ITensor *output, const float *matrix, BorderMode border_mode, uint8_t constant_border_value);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
// Inherited methods overridden:
BorderSize border_size() const override;
diff --git a/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h b/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
index 6b76d19314..7c4b1fa174 100644
--- a/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h
@@ -79,7 +79,7 @@ public:
void configure(const ITensor *input, const ITensor *bias, ITensor *output);
// Inherited methods overridden:
- void run(const Window &window) override;
+ void run(const Window &window, const ThreadInfo &info) override;
private:
using WeightsReshapeKernel = void(const ITensor *input, const ITensor *bias, ITensor *output, const Window &window);
diff --git a/arm_compute/core/Window.h b/arm_compute/core/Window.h
index a2fbc8f06f..baf767e7d5 100644
--- a/arm_compute/core/Window.h
+++ b/arm_compute/core/Window.h
@@ -48,7 +48,7 @@ public:
/** Default constructor: create a window containing a single element. */
constexpr Window()
- : _dims(), _thread_id(0), _num_threads(1)
+ : _dims()
{
}
/** Copy constructor
@@ -293,38 +293,6 @@ public:
{
return slide_window_slice<4>(slice);
}
- /** Sets the ID of the thread that the window is associated with.
- *
- * @param id ID of the thread that the window is associated with.
- */
- void set_thread_id(unsigned int id)
- {
- _thread_id = id;
- }
- /** Sets the number of threads dispatched that the window is associated with.
- *
- * @param num_threads The number of threads dispatched that the window is associated with.
- */
- void set_num_threads(unsigned int num_threads)
- {
- _num_threads = num_threads;
- }
- /** Get the ID of the thread that the window is associated with.
- *
- * @return ID of the thread that the window is associated with.
- */
- constexpr unsigned int thread_id() const
- {
- return _thread_id;
- }
- /** Get the number of threads dispatched that the window is associated with.
- *
- * @return The number of threads dispatched that the window is associated with.
- */
- constexpr unsigned int num_threads() const
- {
- return _num_threads;
- }
/* Collapse the dimensions higher than @p first if possible.
*
@@ -358,8 +326,6 @@ private:
private:
std::array<Dimension, Coordinates::num_max_dimensions> _dims;
- unsigned int _thread_id;
- unsigned int _num_threads;
};
}
#include "Window.inl"
diff --git a/arm_compute/core/Window.inl b/arm_compute/core/Window.inl
index c33613fcea..01cd988ea0 100644
--- a/arm_compute/core/Window.inl
+++ b/arm_compute/core/Window.inl
@@ -24,7 +24,7 @@
namespace arm_compute
{
inline Window::Window(const Window &src)
- : _dims(), _thread_id(src._thread_id), _num_threads(src._num_threads)
+ : _dims()
{
for(size_t i = 0; i < Coordinates::num_max_dimensions; ++i)
{
@@ -32,12 +32,12 @@ inline Window::Window(const Window &src)
}
}
-inline constexpr const Window::Dimension &Window::operator[](const size_t dimension) const
+inline constexpr const Window::Dimension &Window::operator[](size_t dimension) const
{
// Precondition: dimension < Coordinates::num_max_dimensions
return _dims.at(dimension);
}
-inline void Window::set(const size_t dimension, const Window::Dimension &dim)
+inline void Window::set(size_t dimension, const Window::Dimension &dim)
{
ARM_COMPUTE_ERROR_ON(dimension >= Coordinates::num_max_dimensions);
_dims[dimension] = dim;
@@ -72,7 +72,7 @@ inline Window Window::collapse_if_possible(const Window &full_window, size_t fir
return collapsed;
}
-inline void Window::shift(const size_t dimension, const int shift_value)
+inline void Window::shift(size_t dimension, int shift_value)
{
ARM_COMPUTE_ERROR_ON(dimension >= Coordinates::num_max_dimensions);
Window::Dimension &d = _dims[dimension];
@@ -94,7 +94,7 @@ inline void Window::adjust(size_t dimension, int adjust_value, bool is_at_start)
}
}
-inline void Window::scale(const size_t dimension, float scale_value)
+inline void Window::scale(size_t dimension, float scale_value)
{
ARM_COMPUTE_ERROR_ON(dimension >= Coordinates::num_max_dimensions);
Window::Dimension &d = _dims[dimension];
@@ -103,7 +103,7 @@ inline void Window::scale(const size_t dimension, float scale_value)
d = Window::Dimension(d.start() * scale_value, scaled_end, scaled_step);
}
-inline void Window::set_dimension_step(const size_t dimension, const int step)
+inline void Window::set_dimension_step(size_t dimension, int step)
{
ARM_COMPUTE_ERROR_ON(dimension >= Coordinates::num_max_dimensions);
_dims[dimension].set_step(step);
@@ -126,7 +126,7 @@ inline constexpr size_t Window::num_iterations(size_t dimension) const
return (_dims.at(dimension).end() - _dims.at(dimension).start()) / _dims.at(dimension).step();
}
-inline Window Window::split_window(const size_t dimension, const size_t id, const size_t total) const
+inline Window Window::split_window(size_t dimension, size_t id, size_t total) const
{
ARM_COMPUTE_ERROR_ON(id >= total);
ARM_COMPUTE_ERROR_ON(dimension >= Coordinates::num_max_dimensions);
@@ -201,7 +201,7 @@ inline Window Window::first_slice_window() const
return slice;
}
-inline void Window::use_tensor_dimensions(const ITensorInfo *info, const size_t first_dimension)
+inline void Window::use_tensor_dimensions(const ITensorInfo *info, size_t first_dimension)
{
for(unsigned int n = first_dimension; n < info->num_dimensions(); ++n)
{