22 #ifndef MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_H_
23 #define MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_H_
25 #include "../../common/MMALIB_types.h"
27 #include "../MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost/MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost.h"
85 #define MMALIB_CONVOLVE_COL_SHIFT_SINGLE 0
86 #define MMALIB_CONVOLVE_COL_SHIFT_PER_GROUP 1
309 const uint8_t *shiftValues,
343 const uint8_t *shiftValues,
384 uint64_t *archCycles, uint64_t *estCycles);
MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_POINTWISEPOST_STATUS_NAME
Enumeration for different error codes for MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost...
MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_ExecOutArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecOutArgs
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.
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 operat...
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 on...
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.
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 on...
MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_POINTWISEPOST_STATUS_NAME MMALIB_CNN_CONVOLVE_COL_SMALLNO_HIGHPRECISION_STATUS_NAME
MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_InitArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_InitArgs
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 ...
MMALIB_CNN_convolve_col_smallNo_highPrecision_pointwisePost_ExecInArgs MMALIB_CNN_convolve_col_smallNo_highPrecision_ExecInArgs
MMALIB_STATUS_NAME
The enumeration of all status codes.
void * MMALIB_kernelHandle
Handle type for MMALIB operations.
This structure holds all the execution input parameters for the CNN column based convolution kernel.
This structure holds all the runtime output parameters for CNN column based convolution kernel.
This structure holds all the initialization parameters for CNN column based convolution kernel.
This structure holds all the execution input parameters for the CNN column based convolution kernel.
This structure holds all the runtime output parameters for CNN column based convolution kernel.
This structure holds all the initialization parameters for CNN column based convolution kernel.
A structure for a 1 dimensional buffer descriptor.
A structure for a 2 dimensional buffer descriptor.
A structure for a 3 dimensional buffer descriptor.