MMALIB User Guide
MMALIB_CNN_convolve_col_smallNo_highPrecision.h File Reference

Go to the source code of this file.

Macros

#define MMALIB_CONVOLVE_COL_SHIFT_SINGLE   0
 Use the same shift value for all groups in calls to MMALIB_CNN_convolve_col_smallNo_highPrecision_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_highPrecision_exec More...
 

Typedefs

typedef MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_POINTWISEPOST_STATUS_NAME MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_STATUS_NAME
 
typedef MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_InitArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_InitArgs
 
typedef MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_ExecInArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecInArgs
 
typedef MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_ExecOutArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecOutArgs
 

Functions

int32_t MMALIB_CNN_convolve_col_smallNo_highPrecision_getHandleSize (MMALIB_CNN_convolve_col_smallNo_highPrecision_InitArgs *pKerInitArgs)
 This is a query function to kernel to get the size of internal handle. More...
 
MMALIB_STATUS MMALIB_CNN_convolve_col_smallNo_highPrecision_init (MMALIB_kernelHandle handle, const MMALIB_bufParams3D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *src2_addr, const MMALIB_bufParams1D_t *src3_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_highPrecision_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_highPrecision_init_checkParams (MMALIB_kernelHandle handle, const MMALIB_bufParams3D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *src2_addr, const MMALIB_bufParams1D_t *src3_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_highPrecision_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_highPrecision_exec (MMALIB_kernelHandle handle, const void *src0, const void *src1, const void *src2, const void *src3, const uint8_t *shiftValues, void *restrict dst, const MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecInArgs *pKerInArgs, MMALIB_CNN_convolve_col_smallNo_highPrecision_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_highPrecision_exec_checkParams (MMALIB_kernelHandle handle, const void *src0, const void *src1, const void *src2, const void *src3, const uint8_t *shiftValues, const void *dst, const MMALIB_CNN_convolve_col_smallNo_highPrecision_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_highPrecision_perfEst (MMALIB_kernelHandle handle, const MMALIB_bufParams3D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *src2_addr, const MMALIB_bufParams1D_t *src3_addr, const MMALIB_bufParams3D_t *dst_addr, const MMALIB_CNN_convolve_col_smallNo_highPrecision_InitArgs *pKerInitArgs, const MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecInArgs *pExecInArgs, MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecOutArgs *pExecOutArgs, uint64_t *archCycles, uint64_t *estCycles)
 This function estimates the cycles consumed for the kernel execution. More...