MMALIB User Guide
MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs Struct Reference

Detailed Description

This structure holds all the initialization parameters for CNN column based convolution kernel.

Definition at line 113 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

Data Fields

int8_t funcStyle
 Variant of the function; refer to MMALIB_FUNCTION_STYLE. More...
 
int32_t Ni
 Number of input channels to be processed. More...
 
int32_t No
 Number of output channels to be processed. More...
 
int32_t Fr
 Number of kernel rows (height) More...
 
int32_t Fc
 Number of kernel columns (width) More...
 
uint8_t shift
 Number of bits of right shift parameter for output precision. More...
 
int8_t shiftMethod
 Control behavior of MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs.shift. MMALIB_CONVOLVE_COL_SHIFT_SINGLE is currently the only supported value. More...
 
int32_t strideX
 Stride size across columns (horizontal dimension) More...
 
int32_t strideY
 Stride size across rows (vertical dimension) More...
 
int32_t dilationX
 Dilation of kernel width. More...
 
int32_t dilationY
 Dilation of kernel height. More...
 
int32_t bias
 Bias value in B matrix. More...
 
int32_t biasDataType
 Data type of the bias. More...
 
int32_t numBiasVals
 Number of elements used for the bias (cols in weights, rows in feature maps) More...
 
uint8_t activationType
 Activation of RELU, SAT or none for output. More...
 
int32_t featureWidth
 Total feature map width, without pad. More...
 
int32_t blockFeatureHeight
 Number of rows from the input feature map to be processed, without pad. More...
 
int32_t blockFeaturePitch
 Pitch between rows of input feature map, in bytes, without pad. More...
 
int32_t columnOffset
 Distance, in elements, between starting points of even-numbered input feature map block columns (0,2,4,...) More...
 
int32_t inPairOffset
 Distance, in elements, between the even- and odd-numbered input feature map block columns (i.e. distance from 0 to 1) More...
 
int32_t topPad
 pixels of pad to apply to the top side of the input data More...
 
int32_t bottomPad
 pixels of pad to apply to the bottom side of the input data More...
 
int32_t leftPad
 pixels of pad to apply to the left side of the input data More...
 
int32_t rightPad
 pixels of pad to apply to the right side of the input data More...
 
int32_t groupOffset
 Distance, in elements, between groups. More...
 
int32_t pSatMin
 Minimum value for parameterized saturation. More...
 
int32_t pSatMax
 Maximum value for parameterized saturation. More...
 
int32_t inChOffset
 Distance, in elements, between the input channels. More...
 
int32_t outPairOffset
 Distance, in elements, between the output of the even- and odd-numbered output feature map block columns. More...
 
int32_t numGroupsPerKernel
 Number of groups to be processed in a single kernel call. More...
 

Field Documentation

◆ funcStyle

int8_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::funcStyle

Variant of the function; refer to MMALIB_FUNCTION_STYLE.

Definition at line 115 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ Ni

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::Ni

Number of input channels to be processed.

Definition at line 116 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ No

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::No

Number of output channels to be processed.

Definition at line 117 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ Fr

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::Fr

Number of kernel rows (height)

Definition at line 118 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ Fc

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::Fc

Number of kernel columns (width)

Definition at line 119 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ shift

uint8_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::shift

Number of bits of right shift parameter for output precision.

Definition at line 120 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ shiftMethod

int8_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::shiftMethod

Control behavior of MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs.shift. MMALIB_CONVOLVE_COL_SHIFT_SINGLE is currently the only supported value.

Definition at line 121 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ strideX

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::strideX

Stride size across columns (horizontal dimension)

Definition at line 122 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ strideY

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::strideY

Stride size across rows (vertical dimension)

Definition at line 123 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ dilationX

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::dilationX

Dilation of kernel width.

Definition at line 124 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ dilationY

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::dilationY

Dilation of kernel height.

Definition at line 125 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ bias

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::bias

Bias value in B matrix.

Definition at line 126 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ biasDataType

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::biasDataType

Data type of the bias.

Definition at line 127 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ numBiasVals

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::numBiasVals

Number of elements used for the bias (cols in weights, rows in feature maps)

Definition at line 128 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ activationType

uint8_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::activationType

Activation of RELU, SAT or none for output.

Definition at line 129 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ featureWidth

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::featureWidth

Total feature map width, without pad.

Definition at line 130 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ blockFeatureHeight

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::blockFeatureHeight

Number of rows from the input feature map to be processed, without pad.

Definition at line 131 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ blockFeaturePitch

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::blockFeaturePitch

Pitch between rows of input feature map, in bytes, without pad.

Definition at line 132 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ columnOffset

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::columnOffset

Distance, in elements, between starting points of even-numbered input feature map block columns (0,2,4,...)

Definition at line 133 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ inPairOffset

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::inPairOffset

Distance, in elements, between the even- and odd-numbered input feature map block columns (i.e. distance from 0 to 1)

Definition at line 134 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ topPad

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::topPad

pixels of pad to apply to the top side of the input data

Definition at line 135 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ bottomPad

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::bottomPad

pixels of pad to apply to the bottom side of the input data

Definition at line 136 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ leftPad

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::leftPad

pixels of pad to apply to the left side of the input data

Definition at line 137 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ rightPad

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::rightPad

pixels of pad to apply to the right side of the input data

Definition at line 138 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ groupOffset

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::groupOffset

Distance, in elements, between groups.

Definition at line 139 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ pSatMin

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::pSatMin

Minimum value for parameterized saturation.

Definition at line 140 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ pSatMax

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::pSatMax

Maximum value for parameterized saturation.

Definition at line 141 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ inChOffset

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::inChOffset

Distance, in elements, between the input channels.

Definition at line 142 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ outPairOffset

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::outPairOffset

Distance, in elements, between the output of the even- and odd-numbered output feature map block columns.

Definition at line 143 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.

◆ numGroupsPerKernel

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs::numGroupsPerKernel

Number of groups to be processed in a single kernel call.

Definition at line 144 of file MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h.