22 #ifndef MMALIB_CNN_CONVOLVE_COL_SMALLNO_IXX_IXX_OXX_REORDERWEIGHTS_H_
23 #define MMALIB_CNN_CONVOLVE_COL_SMALLNO_IXX_IXX_OXX_REORDERWEIGHTS_H_
25 #include "../../common/MMALIB_types.h"
69 typedef enum _MMALIB_reorder_weights_operation_e
183 const void *restrict pWeights,
185 const void *restrict pBias,
187 void *restrict pReorderedWeights);
MMALIB_reorder_weights_operation_e
Enumeration for different operations for the reorderWeights function.
int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_getMemorySize(const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_Args *pArgs)
This function returns the amount of memory that needs to be allocated for reordered kernel coefficien...
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_fillBufParams(const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_Args *pArgs, MMALIB_bufParams2D_t *pReorderedWeights_addr)
This function populates a structure of dimensional information about the reordered coefficients buffe...
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_exec(uint32_t operation, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights_Args *pArgs, const MMALIB_bufParams2D_t *pWeights_addr, const void *restrict pWeights, const MMALIB_bufParams2D_t *pBias_addr, const void *restrict pBias, const MMALIB_bufParams2D_t *pReorderedWeights_addr, void *restrict pReorderedWeights)
This function takes a set of weights and biases (optional) and reorders the coefficients for improved...
@ REORDER_WEIGHTS_AND_BIAS
MMALIB_STATUS_NAME
The enumeration of all status codes.
This structure holds all the input parameters for reordering CNN filter weights for column-based conv...
int32_t Ni
Number of input channels to be processed.
int32_t strideX
Stride in the horizontal dimension.
int32_t numBiasVals
Number of elements used for the bias (cols in weights, rows in feature maps)
int32_t No
Number of output channels to be processed.
int32_t leftPad
Pixels of pad to apply to the left side of the input data.
int32_t strideY
Stride in the vertical dimension.
int32_t bottomPad
Pixels of pad to apply to the bottom side of the input data.
int32_t featureWidth
Total feature width.
int32_t dilationX
Dilation in the horizontal dimension.
int32_t rightPad
Pixels of pad to apply to the rights side of the input data.
int32_t dataType
Data type must be a member of MMALIB_data_type_e.
int32_t blockFeatureHeight
Number of rows from the input feature map to be processed, including top and bottom pad that is to be...
int32_t numGroupsPerKernel
Number of groups to be processed in kernel call.
int32_t topPad
Pixels of pad to apply to the top side of the input data.
A structure for a 2 dimensional buffer descriptor.