21.02
|
Common interface for all the OpenCL kernels. More...
#include <ICLKernel.h>
Public Member Functions | |
ICLKernel () | |
Constructor. More... | |
cl::Kernel & | kernel () |
Returns a reference to the OpenCL kernel of this object. More... | |
template<typename T > | |
void | add_1D_array_argument (unsigned int &idx, const ICLArray< T > *array, const Strides &strides, unsigned int num_dimensions, const Window &window) |
Add the passed 1D array's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_1D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_1D_tensor_argument_if (bool cond, unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true. More... | |
void | add_2D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_2D_tensor_argument_if (bool cond, unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true. More... | |
void | add_3D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_4D_tensor_argument (unsigned int &idx, const ICLTensor *tensor, const Window &window) |
Add the passed 4D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
virtual void | run (const Window &window, cl::CommandQueue &queue) |
Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue. More... | |
virtual void | run_op (ITensorPack &tensors, const Window &window, cl::CommandQueue &queue) |
Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue. More... | |
template<typename T > | |
void | add_argument (unsigned int &idx, T value) |
Add the passed parameters to the object's kernel's arguments starting from the index idx. More... | |
void | set_lws_hint (const cl::NDRange &lws_hint) |
Set the Local-Workgroup-Size hint. More... | |
cl::NDRange | lws_hint () const |
Return the Local-Workgroup-Size hint. More... | |
void | set_wbsm_hint (const cl_int &wbsm_hint) |
Set the workgroup batch size modifier hint. More... | |
cl_int | wbsm_hint () const |
Return the workgroup batch size modifier hint. More... | |
const std::string & | config_id () const |
Get the configuration ID. More... | |
void | set_target (GPUTarget target) |
Set the targeted GPU architecture. More... | |
void | set_target (cl::Device &device) |
Set the targeted GPU architecture according to the CL device. More... | |
GPUTarget | get_target () const |
Get the targeted GPU architecture. More... | |
size_t | get_max_workgroup_size () |
Get the maximum workgroup size for the device the CLKernelLibrary uses. More... | |
template<unsigned int dimension_size> | |
void | add_tensor_argument (unsigned &idx, const ICLTensor *tensor, const Window &window) |
template<typename T , unsigned int dimension_size> | |
void | add_array_argument (unsigned &idx, const ICLArray< T > *array, const Strides &strides, unsigned int num_dimensions, const Window &window) |
Add the passed array's parameters to the object's kernel's arguments starting from the index idx. 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... | |
Static Public Member Functions | |
static constexpr unsigned int | num_arguments_per_1D_array () |
Returns the number of arguments enqueued per 1D array object. More... | |
static constexpr unsigned int | num_arguments_per_1D_tensor () |
Returns the number of arguments enqueued per 1D tensor object. More... | |
static constexpr unsigned int | num_arguments_per_2D_tensor () |
Returns the number of arguments enqueued per 2D tensor object. More... | |
static constexpr unsigned int | num_arguments_per_3D_tensor () |
Returns the number of arguments enqueued per 3D tensor object. More... | |
static constexpr unsigned int | num_arguments_per_4D_tensor () |
Returns the number of arguments enqueued per 4D tensor object. More... | |
static cl::NDRange | gws_from_window (const Window &window) |
Get the global work size given an execution window. More... | |
Common interface for all the OpenCL kernels.
Definition at line 46 of file ICLKernel.h.
|
inline |
Constructor.
Definition at line 93 of file ICLKernel.h.
|
inline |
Add the passed 1D array's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the array's arguments. Will be incremented by the number of kernel arguments set. |
[in] | array | Array to set as an argument of the object's kernel. |
[in] | strides | Strides object containing stride of each dimension in bytes. |
[in] | num_dimensions | Number of dimensions of the array . |
[in] | window | Window the kernel will be executed on. |
Definition at line 114 of file ICLKernel.h.
References IKernel::window().
|
inline |
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 124 of file ICLKernel.h.
References IKernel::window().
Referenced by ICLKernel::add_1D_tensor_argument_if(), CLReverseKernel::run(), CLSelectKernel::run(), CLComputeAllAnchorsKernel::run(), CLQLSTMLayerNormalizationKernel::run(), CLMinMaxLayerKernel::run(), CLGatherKernel::run(), CLFFTDigitReverseKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel::run(), CLRangeKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLReductionOperationKernel::run(), CLBoundingBoxTransformKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleKernel::run(), CLDeconvolutionReshapeOutputKernel::run(), CLBatchToSpaceLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLBatchNormalizationLayerKernel::run(), CLFuseBatchNormalizationKernel::run(), CLDirectConvolutionLayerKernel::run(), CLWeightsReshapeKernel::run(), CLWinogradOutputTransformKernel::run(), and CLDepthwiseConvolutionLayerNativeKernel::run().
|
inline |
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true.
[in] | cond | Condition to check |
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 135 of file ICLKernel.h.
References ICLKernel::add_1D_tensor_argument().
Referenced by CLGEMMLowpOffsetContributionKernel::run(), CLSpaceToBatchLayerKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), and CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run().
|
inline |
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 148 of file ICLKernel.h.
References IKernel::window().
Referenced by ICLKernel::add_2D_tensor_argument_if(), ICLSimple2DKernel::run(), CLBitwiseKernel::run(), CLGaussianPyramidHorKernel::run(), CLHistogramKernel::run(), CLMinMaxKernel::run(), CLGradientKernel::run(), CLHOGOrientationBinningKernel::run(), CLRemapKernel::run(), CLAbsoluteDifferenceKernel::run(), CLDerivativeKernel::run(), CLSobel3x3Kernel::run(), CLSobel5x5HorKernel::run(), CLSobel7x7HorKernel::run(), CLDepthwiseConvolutionLayerReshapeWeightsKernel::run(), CLScaleKernel::run(), CLMagnitudePhaseKernel::run(), CLQLSTMLayerNormalizationKernel::run(), CLIntegralImageVertKernel::run(), CLFastCornersKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLConvertFullyConnectedWeightsKernel::run(), CLROIPoolingLayerKernel::run(), CLMeanStdDevKernel::run(), CLChannelExtractKernel::run(), CLPriorBoxLayerKernel::run(), CLScharr3x3Kernel::run(), CLHarrisScoreKernel::run(), CLHOGDetectorKernel::run(), CLReductionOperationKernel::run(), CLL2NormalizeLayerKernel::run(), CLBoundingBoxTransformKernel::run(), CLChannelCombineKernel::run(), CLArgMinMaxLayerKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), CLROIAlignLayerKernel::run(), CLHistogramBorderKernel::run(), CLGaussianPyramidVertKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLColorConvertKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLWeightsReshapeKernel::run(), CLHOGBlockNormalizationKernel::run(), CLEdgeNonMaxSuppressionKernel::run(), CLMinMaxLocationKernel::run(), CLIm2ColKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLCopyToArrayKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLLKTrackerStage0Kernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), CLEdgeTraceKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLLKTrackerStage1Kernel::run(), and CLConvolutionRectangleKernel::run().
|
inline |
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx if the condition is true.
[in] | cond | Condition to check |
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 159 of file ICLKernel.h.
References ICLKernel::add_2D_tensor_argument().
Referenced by CLDerivativeKernel::run(), CLSobel3x3Kernel::run(), CLSobel5x5HorKernel::run(), CLSobel7x7HorKernel::run(), CLMagnitudePhaseKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLScharr3x3Kernel::run(), CLChannelCombineKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLSpaceToBatchLayerKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLSobel7x7VertKernel::run(), CLSobel5x5VertKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), and CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run().
|
inline |
Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 172 of file ICLKernel.h.
References IKernel::window().
Referenced by ICLSimple3DKernel::run(), CLDequantizationLayerKernel::run(), CLDepthwiseConvolutionLayerReshapeWeightsKernel::run(), CLDepthToSpaceLayerKernel::run(), CLSelectKernel::run(), CLSpaceToDepthLayerKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), CLFFTScaleKernel::run(), CLMaxUnpoolingLayerKernel::run(), CLQuantizationLayerKernel::run(), CLMinMaxLayerKernel::run(), CLNormalizationLayerKernel::run(), CLComparisonKernel::run(), CLFFTDigitReverseKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel::run(), CLReorgLayerKernel::run(), CLROIPoolingLayerKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLPadLayerKernel::run(), CLReductionOperationKernel::run(), CLFFTRadixStageKernel::run(), CLFillBorderKernel::run(), CLL2NormalizeLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), CLArgMinMaxLayerKernel::run(), CLGEMMReshapeLHSMatrixKernel::run(), CLCol2ImKernel::run(), CLDeconvolutionReshapeOutputKernel::run(), CLROIAlignLayerKernel::run(), CLBatchToSpaceLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLWinogradInputTransformKernel::run(), CLBatchNormalizationLayerKernel::run(), CLWinogradFilterTransformKernel::run(), CLFuseBatchNormalizationKernel::run(), CLDirectConvolutionLayerKernel::run(), CLSpaceToBatchLayerKernel::run(), CLWeightsReshapeKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLIm2ColKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLGEMMReshapeRHSMatrixKernel::run(), CLLogits1DNormKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), ClElementwiseKernel::run_op(), ClFloorKernel::run_op(), ClReshapeKernel::run_op(), ClCopyKernel::run_op(), ClElementWiseUnaryKernel::run_op(), ClActivationKernel::run_op(), ClPoolingKernel::run_op(), ClFillKernel::run_op(), ClDepthConcatenateKernel::run_op(), ClBatchConcatenateKernel::run_op(), CLFillBorderKernel::run_op(), ClCropKernel::run_op(), CLPixelWiseMultiplicationKernel::run_op(), and CLComplexPixelWiseMultiplicationKernel::run_op().
|
inline |
Add the passed 4D tensor's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the tensor's arguments. Will be incremented by the number of kernel arguments set. |
[in] | tensor | Tensor to set as an argument of the object's kernel. |
[in] | window | Window the kernel will be executed on. |
Definition at line 182 of file ICLKernel.h.
References IKernel::window().
Referenced by CLChannelShuffleLayerKernel::run(), CLDepthToSpaceLayerKernel::run(), CLReverseKernel::run(), CLSpaceToDepthLayerKernel::run(), CLScaleKernel::run(), CLGatherKernel::run(), CLTileKernel::run(), CLInstanceNormalizationLayerKernel::run(), CLReductionOperationKernel::run(), CLStackLayerKernel::run(), CLArgMinMaxLayerKernel::run(), CLCol2ImKernel::run(), CLBatchToSpaceLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLWinogradFilterTransformKernel::run(), CLSpaceToBatchLayerKernel::run(), CLWinogradOutputTransformKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), ClWidthConcatenate2TensorsKernel::run_op(), ClHeightConcatenateKernel::run_op(), ClWidthConcatenateKernel::run_op(), ClPoolingKernel::run_op(), ClWidthConcatenate4TensorsKernel::run_op(), CLStridedSliceKernel::run_op(), and ClPermuteKernel::run_op().
|
inline |
Add the passed parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the arguments. Will be incremented by the number of kernel arguments set. |
[in] | value | Value to set as an argument of the object's kernel. |
Definition at line 255 of file ICLKernel.h.
Referenced by CLDepthToSpaceLayerKernel::run(), CLSpaceToDepthLayerKernel::run(), CLBatchToSpaceLayerKernel::run(), CLSpaceToBatchLayerKernel::run(), and ClCropKernel::run_op().
void add_array_argument | ( | unsigned & | idx, |
const ICLArray< T > * | array, | ||
const Strides & | strides, | ||
unsigned int | num_dimensions, | ||
const Window & | window | ||
) |
Add the passed array's parameters to the object's kernel's arguments starting from the index idx.
[in,out] | idx | Index at which to start adding the array's arguments. Will be incremented by the number of kernel arguments set. |
[in] | array | Array to set as an argument of the object's kernel. |
[in] | strides | Strides object containing stride of each dimension in bytes. |
[in] | num_dimensions | Number of dimensions of the array . |
[in] | window | Window the kernel will be executed on. |
Definition at line 409 of file ICLKernel.h.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_MSG_VAR, ARM_COMPUTE_UNUSED, and ICLArray< T >::cl_buffer().
Definition at line 88 of file ICLKernel.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_MSG_VAR, ARM_COMPUTE_UNUSED, ICLTensor::cl_buffer(), ITensor::info(), arm_compute::test::validation::info, Window::is_broadcasted(), ITensorInfo::num_dimensions(), ITensorInfo::offset_first_element_in_bytes(), ITensorInfo::strides_in_bytes(), and IKernel::window().
|
inline |
Get the configuration ID.
Definition at line 312 of file ICLKernel.h.
Referenced by CLTuner::tune_kernel_dynamic(), and ClSaturatedArithmeticKernel::validate().
size_t get_max_workgroup_size | ( | ) |
Get the maximum workgroup size for the device the CLKernelLibrary uses.
Definition at line 131 of file ICLKernel.cpp.
References CLKernelLibrary::get(), and CLKernelLibrary::max_local_workgroup_size().
Referenced by arm_compute::enqueue(), and ICLKernel::get_target().
|
inline |
Get the targeted GPU architecture.
Definition at line 336 of file ICLKernel.h.
References arm_compute::enqueue(), CLKernelLibrary::get(), ICLKernel::get_max_workgroup_size(), ICLKernel::gws_from_window(), ICLKernel::kernel(), ICLKernel::lws_hint(), and IKernel::window().
Referenced by CLDepthwiseConvolutionLayer3x3NCHWKernel::configure(), CLGEMMMatrixMultiplyKernel::configure(), CLDirectConvolutionLayerKernel::configure(), and CLTuner::tune_kernel_dynamic().
|
static |
Get the global work size given an execution window.
[in] | window | Execution window |
Definition at line 140 of file ICLKernel.cpp.
References Window::Dimension::end(), Window::Dimension::start(), Window::x(), and Window::y().
Referenced by CLTuner::add_tuning_params(), and ICLKernel::get_target().
|
inline |
Returns a reference to the OpenCL kernel of this object.
Definition at line 101 of file ICLKernel.h.
Referenced by arm_compute::enqueue(), and ICLKernel::get_target().
|
inline |
Return the Local-Workgroup-Size hint.
Definition at line 276 of file ICLKernel.h.
References CLTuningParams::get_lws().
Referenced by CLLogits1DMaxShiftExpSumKernel::configure(), CLReductionOperationKernel::configure(), CLArgMinMaxLayerKernel::configure(), ICLKernel::get_target(), ICLSimple2DKernel::run(), ICLSimple3DKernel::run(), CLBitwiseKernel::run(), CLGaussianPyramidHorKernel::run(), CLMinMaxKernel::run(), CLGradientKernel::run(), CLAbsoluteDifferenceKernel::run(), CLRemapKernel::run(), CLHOGOrientationBinningKernel::run(), CLSobel3x3Kernel::run(), CLDequantizationLayerKernel::run(), CLDerivativeKernel::run(), CLLKTrackerInitKernel::run(), CLSobel7x7HorKernel::run(), CLSobel5x5HorKernel::run(), CLChannelShuffleLayerKernel::run(), CLDepthwiseConvolutionLayerReshapeWeightsKernel::run(), CLReverseKernel::run(), CLSelectKernel::run(), CLDepthToSpaceLayerKernel::run(), CLSpaceToDepthLayerKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), CLMaxUnpoolingLayerKernel::run(), CLFFTScaleKernel::run(), CLComputeAllAnchorsKernel::run(), CLMagnitudePhaseKernel::run(), CLQLSTMLayerNormalizationKernel::run(), CLQuantizationLayerKernel::run(), CLScaleKernel::run(), CLIntegralImageVertKernel::run(), CLMinMaxLayerKernel::run(), CLComparisonKernel::run(), CLNormalizationLayerKernel::run(), CLGatherKernel::run(), CLFastCornersKernel::run(), CLFFTDigitReverseKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel::run(), CLTileKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLInstanceNormalizationLayerKernel::run(), CLConvertFullyConnectedWeightsKernel::run(), CLRangeKernel::run(), CLReorgLayerKernel::run(), CLROIPoolingLayerKernel::run(), CLMeanStdDevKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLPadLayerKernel::run(), CLPriorBoxLayerKernel::run(), CLScharr3x3Kernel::run(), CLChannelExtractKernel::run(), CLHarrisScoreKernel::run(), CLReductionOperationKernel::run(), CLHOGDetectorKernel::run(), CLFFTRadixStageKernel::run(), CLFillBorderKernel::run(), CLL2NormalizeLayerKernel::run(), CLBoundingBoxTransformKernel::run(), CLChannelCombineKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), CLStackLayerKernel::run(), CLLKTrackerFinalizeKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), CLArgMinMaxLayerKernel::run(), CLGEMMReshapeLHSMatrixKernel::run(), CLCol2ImKernel::run(), CLDeconvolutionReshapeOutputKernel::run(), CLROIAlignLayerKernel::run(), CLBatchToSpaceLayerKernel::run(), CLGaussianPyramidVertKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLWinogradInputTransformKernel::run(), CLBatchNormalizationLayerKernel::run(), CLWinogradFilterTransformKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLFuseBatchNormalizationKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLDirectConvolutionLayerKernel::run(), CLColorConvertKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLSpaceToBatchLayerKernel::run(), CLWeightsReshapeKernel::run(), CLHOGBlockNormalizationKernel::run(), CLEdgeNonMaxSuppressionKernel::run(), CLWinogradOutputTransformKernel::run(), CLMinMaxLocationKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLIm2ColKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLCopyToArrayKernel::run(), CLSobel7x7VertKernel::run(), CLSobel5x5VertKernel::run(), CLGEMMReshapeRHSMatrixKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLLKTrackerStage0Kernel::run(), CLLogits1DNormKernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), CLEdgeTraceKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLLKTrackerStage1Kernel::run(), CLConvolutionRectangleKernel::run(), ClElementwiseKernel::run_op(), ClFloorKernel::run_op(), ClReshapeKernel::run_op(), ClElementWiseUnaryKernel::run_op(), ClCopyKernel::run_op(), ClWidthConcatenate2TensorsKernel::run_op(), ClHeightConcatenateKernel::run_op(), ClActivationKernel::run_op(), ClWidthConcatenateKernel::run_op(), ClPoolingKernel::run_op(), ClDepthConcatenateKernel::run_op(), ClBatchConcatenateKernel::run_op(), ClFillKernel::run_op(), ClWidthConcatenate4TensorsKernel::run_op(), CLStridedSliceKernel::run_op(), ClPermuteKernel::run_op(), CLFillBorderKernel::run_op(), ClCropKernel::run_op(), CLPixelWiseMultiplicationKernel::run_op(), CLComplexPixelWiseMultiplicationKernel::run_op(), and arm_compute::test::validation::TEST_CASE().
|
inlinestatic |
Returns the number of arguments enqueued per 1D array object.
Definition at line 190 of file ICLKernel.h.
Referenced by CLROIPoolingLayerKernel::configure().
|
inlinestatic |
Returns the number of arguments enqueued per 1D tensor object.
Definition at line 198 of file ICLKernel.h.
Referenced by CLReverseKernel::configure(), CLBatchNormalizationLayerKernel::configure(), CLSelectKernel::run(), CLWeightsReshapeKernel::run(), and CLWinogradOutputTransformKernel::run().
|
inlinestatic |
Returns the number of arguments enqueued per 2D tensor object.
Definition at line 206 of file ICLKernel.h.
Referenced by CLTableLookupKernel::configure(), CLWarpPerspectiveKernel::configure(), CLScaleKernel::configure(), CLThresholdKernel::configure(), CLWarpAffineKernel::configure(), CLHistogramKernel::configure(), CLMinMaxKernel::configure(), CLRemapKernel::configure(), CLMeanStdDevKernel::configure(), CLPriorBoxLayerKernel::configure(), CLL2NormalizeLayerKernel::configure(), CLFastCornersKernel::configure(), CLHarrisScoreKernel::configure(), CLHOGDetectorKernel::configure(), CLAccumulateWeightedKernel::configure(), CLHistogramBorderKernel::configure(), CLAccumulateSquaredKernel::configure(), CLEdgeNonMaxSuppressionKernel::configure(), CLMinMaxLocationKernel::configure(), CLCopyToArrayKernel::configure(), CLLKTrackerStage0Kernel::configure(), CLEdgeTraceKernel::configure(), CLLKTrackerStage1Kernel::configure(), CLReductionOperationKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), CLArgMinMaxLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLWeightsReshapeKernel::run(), CLIm2ColKernel::run(), and CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run().
|
inlinestatic |
Returns the number of arguments enqueued per 3D tensor object.
Definition at line 214 of file ICLKernel.h.
Referenced by ClReshapeKernel::configure(), CLFFTScaleKernel::configure(), CLFFTRadixStageKernel::configure(), CLL2NormalizeLayerKernel::configure(), CLFillBorderKernel::configure(), CLDepthConvertLayerKernel::configure(), CLROIPoolingLayerKernel::configure(), CLBatchNormalizationLayerKernel::configure(), CLPixelWiseMultiplicationKernel::configure(), CLDequantizationLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel::run(), CLGEMMLowpQuantizeDownInt32ScaleKernel::run(), CLGEMMReshapeLHSMatrixKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLWinogradInputTransformKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLBatchNormalizationLayerKernel::run(), CLDirectConvolutionLayerKernel::run(), CLWeightsReshapeKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLIm2ColKernel::run(), ClDepthConcatenateKernel::run_op(), and ClBatchConcatenateKernel::run_op().
|
inlinestatic |
Returns the number of arguments enqueued per 4D tensor object.
Definition at line 222 of file ICLKernel.h.
Referenced by CLScaleKernel::configure(), CLReverseKernel::configure(), CLStackLayerKernel::configure(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLWinogradOutputTransformKernel::run(), and CLDepthwiseConvolutionLayerNativeKernel::run().
|
inlinevirtual |
Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue.
[in] | window | Region on which to execute the kernel. (Must be a valid region of the window returned by window()). |
[in,out] | queue | Command queue on which to enqueue the kernel. |
Reimplemented in CLConvolutionRectangleKernel, CLLKTrackerStage1Kernel, CLGEMMLowpMatrixBReductionKernel, CLEdgeTraceKernel, CLGEMMMatrixMultiplyReshapedKernel, CLGEMMMatrixMultiplyReshapedOnlyRHSKernel, CLLogits1DNormKernel, CLLKTrackerStage0Kernel, CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel, CLGEMMReshapeRHSMatrixKernel, CLSobel5x5VertKernel, CLSobel7x7VertKernel, CLCopyToArrayKernel, CLGEMMLowpMatrixAReductionKernel, CLIm2ColKernel, CLGEMMLowpOffsetContributionOutputStageKernel, CLDepthwiseConvolutionLayerNativeKernel, CLMinMaxLocationKernel, CLWinogradOutputTransformKernel, CLEdgeNonMaxSuppressionKernel, CLHOGBlockNormalizationKernel, CLSpaceToBatchLayerKernel, CLWeightsReshapeKernel, CLColorConvertKernel, CLGEMMMatrixMultiplyNativeKernel, CLDirectConvolutionLayerKernel, CLGEMMLowpMatrixMultiplyReshapedKernel, CLFuseBatchNormalizationKernel, CLGEMMMatrixMultiplyKernel, CLWinogradFilterTransformKernel, CLBatchNormalizationLayerKernel, CLDepthwiseConvolutionLayer3x3NHWCKernel, CLGEMMLowpOffsetContributionKernel, CLWinogradInputTransformKernel, CLDepthwiseConvolutionLayer3x3NCHWKernel, CLGaussianPyramidVertKernel, CLHistogramBorderKernel, CLBatchToSpaceLayerKernel, CLROIAlignLayerKernel, CLDeconvolutionReshapeOutputKernel, CLCol2ImKernel, CLGEMMReshapeLHSMatrixKernel, CLArgMinMaxLayerKernel, CLGEMMLowpMatrixMultiplyNativeKernel, CLLKTrackerFinalizeKernel, CLLogits1DMaxShiftExpSumKernel, CLStackLayerKernel, CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel, CLGEMMLowpQuantizeDownInt32ScaleKernel, CLChannelCombineKernel, CLBoundingBoxTransformKernel, CLL2NormalizeLayerKernel, CLFFTRadixStageKernel, CLFillBorderKernel, CLHOGDetectorKernel, CLReductionOperationKernel, CLHarrisScoreKernel, CLChannelExtractKernel, CLPadLayerKernel, CLPriorBoxLayerKernel, CLScharr3x3Kernel, CLMeanStdDevKernel, CLNormalizePlanarYUVLayerKernel, CLConvertFullyConnectedWeightsKernel, CLRangeKernel, CLReorgLayerKernel, CLROIPoolingLayerKernel, CLInstanceNormalizationLayerKernel, CLMeanStdDevNormalizationKernel, CLFastCornersKernel, CLFFTDigitReverseKernel, CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel, CLTileKernel, CLComparisonKernel, CLGatherKernel, CLIntegralImageVertKernel, CLMinMaxLayerKernel, CLNormalizationLayerKernel, CLMagnitudePhaseKernel, CLQLSTMLayerNormalizationKernel, CLQuantizationLayerKernel, CLScaleKernel, CLFFTScaleKernel, CLComputeAllAnchorsKernel, CLMaxUnpoolingLayerKernel, CLDeconvolutionLayerUpsampleKernel, CLDepthToSpaceLayerKernel, CLReverseKernel, CLSelectKernel, CLSpaceToDepthLayerKernel, CLChannelShuffleLayerKernel, CLDepthwiseConvolutionLayerReshapeWeightsKernel, CLLKTrackerInitKernel, CLSobel5x5HorKernel, CLSobel7x7HorKernel, CLDequantizationLayerKernel, CLDerivativeKernel, CLSobel3x3Kernel, CLAbsoluteDifferenceKernel, CLHOGOrientationBinningKernel, CLRemapKernel, CLGradientKernel, CLMinMaxKernel, CLHistogramKernel, CLBitwiseKernel, CLGaussianPyramidHorKernel, ICLSimple3DKernel, and ICLSimple2DKernel.
Definition at line 233 of file ICLKernel.h.
References ARM_COMPUTE_UNUSED.
Referenced by CLScheduler::init().
|
inlinevirtual |
Enqueue the OpenCL kernel to process the given window on the passed OpenCL command queue.
[in] | tensors | A vector containing the tensors to operato on. |
[in] | window | Region on which to execute the kernel. (Must be a valid region of the window returned by window()). |
[in,out] | queue | Command queue on which to enqueue the kernel. |
Reimplemented in CLComplexPixelWiseMultiplicationKernel, CLPixelWiseMultiplicationKernel, CLFillBorderKernel, ClCropKernel, ClPermuteKernel, CLStridedSliceKernel, ClFillKernel, ClPoolingKernel, ClCopyKernel, ClElementWiseUnaryKernel, ClFloorKernel, and ClReshapeKernel.
Definition at line 245 of file ICLKernel.h.
References ARM_COMPUTE_UNUSED.
Referenced by CLScheduler::init().
|
inline |
Set the Local-Workgroup-Size hint.
[in] | lws_hint | Local-Workgroup-Size to use |
Definition at line 266 of file ICLKernel.h.
References ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, and CLTuningParams::set_lws().
Referenced by CLGEMMMatrixMultiplyKernel::configure(), arm_compute::test::validation::TEST_CASE(), and CLTuner::tune_kernel_dynamic().
|
inline |
Set the targeted GPU architecture.
[in] | target | The targeted GPU architecture |
Definition at line 321 of file ICLKernel.h.
Referenced by arm_compute::test::validation::TEST_CASE().
void set_target | ( | cl::Device & | device | ) |
Set the targeted GPU architecture according to the CL device.
[in] | device | A CL device |
Definition at line 126 of file ICLKernel.cpp.
References arm_compute::get_target_from_device().
|
inline |
Set the workgroup batch size modifier hint.
[in] | wbsm_hint | workgroup batch size modifier value |
Definition at line 287 of file ICLKernel.h.
References ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, and CLTuningParams::set_wbsm().
Referenced by CLTuner::tune_kernel_dynamic().
|
inline |
Return the workgroup batch size modifier hint.
Definition at line 297 of file ICLKernel.h.
References CLTuningParams::get_wbsm().