Compute Library
18.05
|
Common information for all the kernels. More...
#include <IKernel.h>
Public Member Functions | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
virtual bool | is_parallelisable () const |
Indicates whether or not the kernel is parallelisable. More... | |
virtual BorderSize | border_size () const |
The size of the border for that kernel. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
IKernel | ( | ) |
Constructor.
|
virtualdefault |
Destructor.
|
virtual |
The size of the border for that kernel.
Reimplemented in NEConvolutionRectangleKernel, NEEdgeTraceKernel, CLConvolutionRectangleKernel, NESeparableConvolutionVertKernel< matrix_size >, NEEdgeNonMaxSuppressionKernel, CLSeparableConvolutionVertKernel< matrix_size >, NESeparableConvolutionHorKernel< matrix_size >, NESobel7x7VertKernel, NESobel5x5VertKernel, CLSobel5x5VertKernel, CLSobel7x7VertKernel, NELKTrackerKernel, CLSeparableConvolutionHorKernel< matrix_size >, NEGaussianPyramidVertKernel, CLEdgeNonMaxSuppressionKernel, NEHarrisScoreKernel< block_size >, CLGaussianPyramidVertKernel, CLDirectConvolutionLayerKernel, NEPixelWiseMultiplicationKernel, NEArithmeticAdditionKernel, NEScaleKernel, NEDirectConvolutionLayerKernel, NEDepthwiseConvolutionLayer3x3Kernel, CLPixelWiseMultiplicationKernel, NENormalizationLayerKernel, NEGaussian5x5VertKernel, NEReductionOperationKernel, CLScharr3x3Kernel, NEConvolutionKernel< matrix_size >, NEPoolingLayerKernel, NEScharr3x3Kernel, NESobel3x3Kernel, CLArithmeticAdditionKernel, CLReductionOperationKernel, CLWinogradInputTransformKernel, CLHarrisScoreKernel, CLPoolingLayerKernel, CLFastCornersKernel, GCPoolingLayerKernel, CLDepthwiseConvolutionLayer3x3NCHWKernel, CLDepthwiseConvolutionLayer3x3NHWCKernel, NEMeanStdDevKernel, NEDepthConcatenateLayerKernel, CLNormalizationLayerKernel, NENonMaximaSuppression3x3Kernel, NESobel5x5HorKernel, NESobel7x7HorKernel, NENonLinearFilterKernel, CLDepthConcatenateLayerKernel, GCDepthConcatenateLayerKernel, GCDirectConvolutionLayerKernel< kernel_size >, NEFastCornersKernel, NERemapKernel, CLConvolutionKernel< matrix_size >, CLGEMMMatrixVectorMultiplyKernel, CLMeanStdDevKernel, NEDerivativeKernel, INEWarpKernel, CLSobel5x5HorKernel, CLSobel7x7HorKernel, GCNormalizationLayerKernel, NEGaussianPyramidHorKernel, CLDerivativeKernel, CLSobel3x3Kernel, GCDepthwiseConvolutionLayer3x3Kernel, CLRemapKernel, NEGEMMMatrixVectorMultiplyKernel, NELogits1DMaxKernel, CLGaussianPyramidHorKernel, CLNonLinearFilterKernel, NEGaussian5x5HorKernel, GCScaleKernel, NEGaussian3x3Kernel, NEMedian3x3Kernel, CLScaleKernel, NEBox3x3Kernel, NEDilateKernel, NEErodeKernel, NEIntegralImageKernel, CLNonMaximaSuppression3x3Kernel, CLBox3x3Kernel, CLDilateKernel, CLErodeKernel, CLGaussian3x3Kernel, CLMedian3x3Kernel, CLWarpAffineKernel, and CLWarpPerspectiveKernel.
Referenced by NEFillBorderKernel::name(), NEFillInnerBorderKernel::name(), NEHarrisScoreKernel< block_size >::name(), NEEdgeNonMaxSuppressionKernel::name(), and NEEdgeTraceKernel::name().
|
virtual |
Indicates whether or not the kernel is parallelisable.
If the kernel is parallelisable then the window returned by window() can be split into sub-windows which can then be run in parallel.
If the kernel is not parallelisable then only the window returned by window() can be passed to run()
Reimplemented in NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEEdgeTraceKernel, NEMinMaxLocationKernel, NEChannelCombineKernel, NECumulativeDistributionKernel, CLFillBorderKernel, GCFillBorderKernel, NEFillArrayKernel, CPPDetectionWindowNonMaximaSuppressionKernel, CPPUpsampleKernel, CPPSortEuclideanDistanceKernel, and NEIntegralImageKernel.
Referenced by NEMinMaxLocationKernel::name(), NEEdgeTraceKernel::name(), and NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name().
const Window& window | ( | ) | const |
The maximum window the kernel can be executed on.
Referenced by ICLKernel::add_1D_array_argument(), ICLKernel::add_1D_tensor_argument(), ICLKernel::add_2D_tensor_argument(), ICLKernel::add_3D_tensor_argument(), ICLKernel::add_4D_tensor_argument(), arm_compute::test::validation::DATA_TEST_CASE(), IGCKernel::get_target(), ICLKernel::get_target(), NEGEMMMatrixAccumulateBiasesKernel::name(), NEGEMMMatrixVectorMultiplyKernel::name(), NEIntegralImageKernel::name(), NEL2NormalizeLayerKernel::name(), NELocallyConnectedMatrixMultiplyKernel::name(), NEMedian3x3Kernel::name(), NEPoolingLayerKernel::name(), NEDilateKernel::name(), NEDirectConvolutionLayerKernel::name(), NEReductionOperationKernel::name(), NEReshapeLayerKernel::name(), NEErodeKernel::name(), NEBox3x3Kernel::name(), NEGaussian3x3Kernel::name(), NEFloorKernel::name(), NEGaussian5x5HorKernel::name(), NEGaussianPyramidHorKernel::name(), NEArithmeticAdditionKernel::name(), NEArithmeticSubtractionKernel::name(), NEBatchNormalizationLayerKernel::name(), NENormalizationLayerKernel::name(), NEPixelWiseMultiplicationKernel::name(), NERemapKernel::name(), NEScaleKernel::name(), NELogits1DMaxKernel::name(), NETableLookupKernel::name(), NEColorConvertKernel::name(), NEHOGOrientationBinningKernel::name(), NEFillBorderKernel::name(), NEMagnitudePhaseKernel< mag_type, phase_type >::name(), CPPSortEuclideanDistanceKernel::name(), NEDerivativeKernel::name(), NESobel5x5HorKernel::name(), NEROIPoolingLayerKernel::name(), NEDirectConvolutionLayerOutputStageKernel::name(), NESobel7x7HorKernel::name(), CPPUpsampleKernel::name(), NEGradientKernel::name(), NEFillInnerBorderKernel::name(), NEHOGDetectorKernel::name(), NEDepthConcatenateLayerKernel::name(), CPPPermuteKernel::name(), NEPermuteKernel::name(), NEDepthwiseConvolutionLayer3x3Kernel::name(), NENonLinearFilterKernel::name(), NEDepthwiseWeightsReshapeKernel::name(), NEDepthConvertLayerKernel::name(), NEMeanStdDevKernel::name(), NEFastCornersKernel::name(), NEDepthwiseIm2ColKernel::name(), NEBitwiseAndKernel::name(), NEDequantizationLayerKernel::name(), NEBitwiseNotKernel::name(), NEMinMaxLayerKernel::name(), NEBitwiseXorKernel::name(), NETransposeKernel::name(), NEQuantizationLayerKernel::name(), NEAbsoluteDifferenceKernel::name(), NEBitwiseOrKernel::name(), NEGEMMMatrixMultiplyKernel::name(), CPPDetectionWindowNonMaximaSuppressionKernel::name(), NEThresholdKernel::name(), NEFillArrayKernel::name(), NENonMaximaSuppression3x3Kernel::name(), NEMinMaxKernel::name(), NEChannelCombineKernel::name(), NEChannelExtractKernel::name(), NEActivationLayerKernel::name(), NEHistogramKernel::name(), NEDepthwiseVectorToTensorKernel::name(), NEAccumulateKernel::name(), CPPCornerCandidatesKernel::name(), NEConvertFullyConnectedWeightsKernel::name(), NEGEMMMatrixAdditionKernel::name(), NEGEMMLowpMatrixMultiplyKernel::name(), NEScharr3x3Kernel::name(), NESobel3x3Kernel::name(), NECumulativeDistributionKernel::name(), NEGEMMLowpOffsetContributionKernel::name(), NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::name(), NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::name(), NEGEMMInterleave4x4Kernel::name(), NECol2ImKernel::name(), NEConvolutionKernel< matrix_size >::name(), NEWeightsReshapeKernel::name(), NEIm2ColKernel::name(), NEGaussian5x5VertKernel::name(), NEAccumulateWeightedKernel::name(), NEGEMMTranspose1xWKernel::name(), NEGEMMLowpMatrixAReductionKernel::name(), NEGaussianPyramidVertKernel::name(), NELogits1DSoftmaxKernel::name(), NESobel5x5VertKernel::name(), NESobel7x7VertKernel::name(), NEHarrisScoreKernel< block_size >::name(), NEHOGBlockNormalizationKernel::name(), NESeparableConvolutionHorKernel< matrix_size >::name(), NEGEMMLowpMatrixBReductionKernel::name(), NEMinMaxLocationKernel::name(), NEEdgeNonMaxSuppressionKernel::name(), NEAccumulateSquaredKernel::name(), NEWinogradLayerTransformInputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), NESeparableConvolutionVertKernel< matrix_size >::name(), NEEdgeTraceKernel::name(), NEConvolutionRectangleKernel::name(), NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), NEWinogradLayerBatchedGEMMKernel< TIn, TOut, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), and ICLKernel::num_arguments_per_4D_tensor().