21.02
|
Basic function to execute convolution of size 3x3. More...
#include <CLConvolution.h>
Public Member Functions | |
void | configure (ICLTensor *input, ICLTensor *output, const int16_t *conv, uint32_t scale, BorderMode border_mode, uint8_t constant_border_value=0) |
Initialize the function's source, destination, conv and border_mode. More... | |
void | configure (const CLCompileContext &compile_context, ICLTensor *input, ICLTensor *output, const int16_t *conv, uint32_t scale, BorderMode border_mode, uint8_t constant_border_value=0) |
Initialize the function's source, destination, conv and border_mode. More... | |
Public Member Functions inherited from ICLSimpleFunction | |
ICLSimpleFunction (CLRuntimeContext *ctx=nullptr) | |
Constructor. More... | |
ICLSimpleFunction (const ICLSimpleFunction &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLSimpleFunction (ICLSimpleFunction &&)=default | |
Default move constructor. More... | |
ICLSimpleFunction & | operator= (const ICLSimpleFunction &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLSimpleFunction & | operator= (ICLSimpleFunction &&)=default |
Default move assignment operator. More... | |
~ICLSimpleFunction () | |
Default destructor. More... | |
void | run () override final |
Run the kernels contained in the function. More... | |
Public Member Functions inherited from IFunction | |
virtual | ~IFunction ()=default |
Destructor. More... | |
virtual void | prepare () |
Prepare the function for executing. More... | |
Basic function to execute convolution of size 3x3.
This function calls the following OpenCL kernels:
Definition at line 56 of file CLConvolution.h.
void configure | ( | ICLTensor * | input, |
ICLTensor * | output, | ||
const int16_t * | conv, | ||
uint32_t | scale, | ||
BorderMode | border_mode, | ||
uint8_t | constant_border_value = 0 |
||
) |
Initialize the function's source, destination, conv and border_mode.
[in,out] | input | Source tensor. Data types supported: U8. (Written to only for border_mode != UNDEFINED) |
[out] | output | Destination tensor, Data types supported: U8 or S16. |
[in] | conv | matrix_size x matrix_size S16 coefficients structured as a row-major 2D array in a linear buffer. |
[in] | scale | Scale of the convolution matrix. If 0 is passed, it will be set to the sum of the coefficients of the convolution or 1 if they add up to 0. |
[in] | border_mode | Strategy to use for borders. |
[in] | constant_border_value | (Optional) Constant value to use for borders if border_mode is set to CONSTANT. |
Definition at line 41 of file CLConvolution.cpp.
References CLKernelLibrary::get().
void configure | ( | const CLCompileContext & | compile_context, |
ICLTensor * | input, | ||
ICLTensor * | output, | ||
const int16_t * | conv, | ||
uint32_t | scale, | ||
BorderMode | border_mode, | ||
uint8_t | constant_border_value = 0 |
||
) |
Initialize the function's source, destination, conv and border_mode.
[in] | compile_context | The compile context to be used. |
[in,out] | input | Source tensor. Data types supported: U8. (Written to only for border_mode != UNDEFINED) |
[out] | output | Destination tensor, Data types supported: U8 or S16. |
[in] | conv | matrix_size x matrix_size S16 coefficients structured as a row-major 2D array in a linear buffer. |
[in] | scale | Scale of the convolution matrix. If 0 is passed, it will be set to the sum of the coefficients of the convolution or 1 if they add up to 0. |
[in] | border_mode | Strategy to use for borders. |
[in] | constant_border_value | (Optional) Constant value to use for borders if border_mode is set to CONSTANT. |
Definition at line 46 of file CLConvolution.cpp.
References arm_compute::UNDEFINED.