Compute Library
18.05
|
Common interface for all kernels implemented in C++. More...
#include <ICPPKernel.h>
Public Member Functions | |
virtual | ~ICPPKernel ()=default |
Default destructor. More... | |
virtual void | run (const Window &window, const ThreadInfo &info)=0 |
Execute the kernel on the passed window. More... | |
virtual const char * | name () const =0 |
Name of the kernel. More... | |
Public Member Functions inherited from IKernel | |
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... | |
Common interface for all kernels implemented in C++.
Definition at line 35 of file ICPPKernel.h.
|
virtualdefault |
Default destructor.
|
pure virtual |
Name of the kernel.
Implemented in NEWinogradLayerBatchedGEMMKernel< TIn, TOut, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEConvolutionRectangleKernel, NEEdgeTraceKernel, NESeparableConvolutionVertKernel< matrix_size >, NEWinogradLayerTransformInputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEAccumulateSquaredKernel, NEEdgeNonMaxSuppressionKernel, NEMinMaxLocationKernel, NEGEMMLowpMatrixBReductionKernel, NESeparableConvolutionHorKernel< matrix_size >, NEHOGBlockNormalizationKernel, NEHarrisScoreKernel< block_size >, NESobel5x5VertKernel, NESobel7x7VertKernel, NELogits1DSoftmaxKernel, NEGaussianPyramidVertKernel, NEGEMMLowpMatrixAReductionKernel, NEGEMMTranspose1xWKernel, NEAccumulateWeightedKernel, NEGaussian5x5VertKernel, NEIm2ColKernel, NEWeightsReshapeKernel, NEConvolutionKernel< matrix_size >, NECol2ImKernel, NEGEMMInterleave4x4Kernel, NELKTrackerKernel, NEGEMMLowpOffsetContributionKernel, NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel, NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel, NECumulativeDistributionKernel, NEGEMMLowpMatrixMultiplyKernel, NEScharr3x3Kernel, NESobel3x3Kernel, CPPCornerCandidatesKernel, NEConvertFullyConnectedWeightsKernel, NEGEMMMatrixAdditionKernel, NEAccumulateKernel, NEActivationLayerKernel, NEDepthwiseVectorToTensorKernel, NEHistogramKernel, CPPDetectionWindowNonMaximaSuppressionKernel, NEChannelCombineKernel, NEChannelExtractKernel, NEFillArrayKernel, NEGEMMMatrixMultiplyKernel, NEMinMaxKernel, NENonMaximaSuppression3x3Kernel, NEThresholdKernel, NEAbsoluteDifferenceKernel, NEBitwiseAndKernel, NEBitwiseNotKernel, NEBitwiseOrKernel, NEBitwiseXorKernel, NEDepthwiseIm2ColKernel, NEDequantizationLayerKernel, NEFastCornersKernel, NEMeanStdDevKernel, NEMinMaxLayerKernel, NEQuantizationLayerKernel, NETransposeKernel, CPPPermuteKernel, NEDepthConcatenateLayerKernel, NEDepthConvertLayerKernel, NEDepthwiseConvolutionLayer3x3Kernel, NEDepthwiseWeightsReshapeKernel, NEHOGDetectorKernel, NENonLinearFilterKernel, NEPermuteKernel, CPPSortEuclideanDistanceKernel, CPPUpsampleKernel, NEGradientKernel, NEColorConvertKernel, NEDerivativeKernel, NEDirectConvolutionLayerOutputStageKernel, NEFillBorderKernel, NEFillInnerBorderKernel, NEHOGOrientationBinningKernel, NEMagnitudePhaseKernel< mag_type, phase_type >, NEROIPoolingLayerKernel, NESobel5x5HorKernel, NESobel7x7HorKernel, NEArithmeticAdditionKernel, NEArithmeticSubtractionKernel, NEBatchNormalizationLayerKernel, NENormalizationLayerKernel, NEPixelWiseMultiplicationKernel, NERemapKernel, NEScaleKernel, NELogits1DMaxKernel, NETableLookupKernel, NEBox3x3Kernel, NEDilateKernel, NEDirectConvolutionLayerKernel, NEErodeKernel, NEFloorKernel, NEGaussian3x3Kernel, NEGaussian5x5HorKernel, NEGaussianPyramidHorKernel, NEGEMMAssemblyBaseKernel, NEGEMMMatrixVectorMultiplyKernel, NEIntegralImageKernel, NEL2NormalizeLayerKernel, NELocallyConnectedMatrixMultiplyKernel, NEMedian3x3Kernel, NEPoolingLayerKernel, NEReductionOperationKernel, NEReshapeLayerKernel, and NEGEMMMatrixAccumulateBiasesKernel.
Referenced by SchedulerTimer::id(), and NEHarrisScoreKernel< block_size >::name().
|
pure virtual |
Execute the kernel on the passed window.
[in] | window | Region on which to execute the kernel. (Must be a region of the window returned by window()) |
[in] | info | Info about executing thread and CPU. |
Implemented in NEWinogradLayerBatchedGEMMKernel< TIn, TOut, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEConvolutionRectangleKernel, NEEdgeTraceKernel, NESeparableConvolutionVertKernel< matrix_size >, NEWinogradLayerTransformInputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >, NEEdgeNonMaxSuppressionKernel, NEMinMaxLocationKernel, NEAccumulateSquaredKernel, NEGEMMLowpMatrixBReductionKernel, NEHOGBlockNormalizationKernel, NESeparableConvolutionHorKernel< matrix_size >, NESobel7x7VertKernel, NELogits1DSoftmaxKernel, NESobel5x5VertKernel, NEIm2ColKernel, NELKTrackerKernel, NEWeightsReshapeKernel, NEGaussianPyramidVertKernel, NEGEMMLowpMatrixAReductionKernel, NEHarrisScoreKernel< block_size >, NECol2ImKernel, NEBatchNormalizationLayerKernel, NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel, NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel, NEGEMMTranspose1xWKernel, NEGEMMLowpOffsetContributionKernel, NEPixelWiseMultiplicationKernel, NEArithmeticAdditionKernel, NEArithmeticSubtractionKernel, NEScaleKernel, NEAccumulateWeightedKernel, NEDirectConvolutionLayerKernel, NEGEMMMatrixMultiplyKernel, NEHistogramKernel, NEColorConvertKernel, NEGEMMLowpMatrixMultiplyKernel, NEMinMaxLayerKernel, NEDirectConvolutionLayerOutputStageKernel, NEL2NormalizeLayerKernel, NEActivationLayerKernel, NEDepthwiseConvolutionLayer3x3Kernel, NEPermuteKernel, NEChannelCombineKernel, NEConvertFullyConnectedWeightsKernel, NEDepthConvertLayerKernel, NENormalizationLayerKernel, NEDequantizationLayerKernel, NEGaussian5x5VertKernel, NEGEMMInterleave4x4Kernel, NEQuantizationLayerKernel, NEReductionOperationKernel, CPPPermuteKernel, NEChannelExtractKernel, NEConvolutionKernel< matrix_size >, NEPoolingLayerKernel, NEScharr3x3Kernel, NESobel3x3Kernel, NETransposeKernel, NECumulativeDistributionKernel, NEROIPoolingLayerKernel, CPPCornerCandidatesKernel, NEHOGDetectorKernel, NEMinMaxKernel, NEGradientKernel, NEDepthConcatenateLayerKernel, NEDepthwiseIm2ColKernel, NEFillBorderKernel, NEGEMMMatrixAdditionKernel, NELocallyConnectedMatrixMultiplyKernel, NEMeanStdDevKernel, NEFillArrayKernel, NEFillInnerBorderKernel, NEGEMMMatrixAccumulateBiasesKernel, NEMagnitudePhaseKernel< mag_type, phase_type >, NENonMaximaSuppression3x3Kernel, NESobel5x5HorKernel, NESobel7x7HorKernel, CPPDetectionWindowNonMaximaSuppressionKernel, CPPUpsampleKernel, NEAbsoluteDifferenceKernel, NEDepthwiseVectorToTensorKernel, NENonLinearFilterKernel, NEThresholdKernel, NEFastCornersKernel, NEHOGOrientationBinningKernel, NERemapKernel, NEDerivativeKernel, NEBitwiseAndKernel, NEBitwiseOrKernel, NEBitwiseXorKernel, CPPSortEuclideanDistanceKernel, NEBitwiseNotKernel, NEDepthwiseWeightsReshapeKernel, NEGaussianPyramidHorKernel, NETableLookupKernel, INEWarpKernel, NEGEMMMatrixVectorMultiplyKernel, NELogits1DMaxKernel, NEAccumulateKernel, NEGaussian5x5HorKernel, NEGaussian3x3Kernel, NEMedian3x3Kernel, NEBox3x3Kernel, NEDilateKernel, NEErodeKernel, NEIntegralImageKernel, NEReshapeLayerKernel, and NEFloorKernel.
Referenced by NEGEMMLowpMatrixAReductionKernel::name(), NEHarrisScoreKernel< block_size >::name(), NEGEMMLowpMatrixBReductionKernel::name(), NEWinogradLayerTransformInputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name(), and NEWinogradLayerBatchedGEMMKernel< TIn, TOut, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::name().