MMALIB User Guide
MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX.h File Reference

Go to the source code of this file.

Data Structures

struct  MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs
 This structure holds all the initialization parameters for CNN column based convolution kernel. More...
 
struct  MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecInArgs
 This structure holds all the execution input parameters for the CNN column based convolution kernel. More...
 
struct  MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecOutArgs
 This structure holds all the runtime output parameters for CNN column based convolution kernel. More...
 

Macros

#define MMALIB_CONVOLVE_COL_SHIFT_SINGLE   0
 Use the same shift value for all groups in calls to MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_exec. More...
 
#define MMALIB_CONVOLVE_COL_SHIFT_PER_GROUP   1
 [Future feature, no yet supported] Use the unique shift value for each group in calls to MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_exec More...
 

Enumerations

enum  MMALIB_CNN_CONVOLVE_COL_SMALLNO_IXX_IXX_OXX_STATUS_NAME { MMALIB_CNN_CONVOLVE_COL_SMALLNO_IXX_IXX_OXX_ERR_SMALL_K = MMALIB_ERROR_MAX , MMALIB_CNN_CONVOLVE_COL_SMALLNO_IXX_IXX_OXX_ERR_MAX }
 Enumeration for different error codes for MMALIB_CNN_CONVOLVE_COL_SMALLNO kernel. More...
 

Functions

int32_t MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_getHandleSize (MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs *pKerInitArgs)
 This is a query function to kernel to get the size of internal handle. More...
 
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_init (MMALIB_kernelHandle handle, const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs *pKerInitArgs)
 This function call is required to initialize the handle. In this function most of the one time operations are performed and results are stored in the handle. More...
 
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_init_checkParams (MMALIB_kernelHandle handle, const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs *pKerInitArgs)
 This function checks the parameters and should be called before kernel executuon. It can be called once. More...
 
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_exec (MMALIB_kernelHandle handle, const void *src0, const void *src1, const uint8_t *shiftValues, const int32_t *biasBValues, void *restrict dst, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecInArgs *pKerInArgs, MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecOutArgs *pKerOutArgs)
 This function is the main compute function, and performs the convolution primitive (conv + ReLU) for CNN on the column based data arrangement. It is called multiple times. More...
 
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_exec_checkParams (MMALIB_kernelHandle handle, const void *src0, const void *src1, const uint8_t *shiftValues, const int32_t *biasBValues, const void *dst, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecInArgs *pKerInArgs)
 This function checks the parameters and should be called before kernel executuon. It can be called once. More...
 
void MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_perfEst (MMALIB_kernelHandle handle, const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_InitArgs *pKerInitArgs, const MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecInArgs *pExecInArgs, MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_ExecOutArgs *pExecOutArgs, uint64_t *archCycles, uint64_t *estCycles)
 This function estimates the cycles consumed for the kernel execution. More...