103 #ifndef MMALIB_CNN_DECONVOLVE_ROW_IXX_IXX_OXX_H_
104 #define MMALIB_CNN_DECONVOLVE_ROW_IXX_IXX_OXX_H_
106 #include "../../common/MMALIB_types.h"
401 uint32_t numInChannels,
403 uint32_t numOutChannels,
405 const uint32_t mmaSize,
406 const void *restrict src,
432 uint32_t numInChannels,
434 uint32_t numOutChannels,
436 const uint32_t mmaSize,
437 const void *restrict src,
463 uint32_t numInChannels,
465 uint32_t numOutChannels,
467 const uint32_t mmaSize,
468 const void *restrict src,
503 uint64_t * archCycles,
504 uint64_t * estCycles);
MMALIB_STATUS MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_init(MMALIB_kernelHandle handle, const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *dst_addr, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_InitArgs *pKerInitArgs)
This function call is required to initialize the handle. In this function, most of the one-time opera...
MMALIB_STATUS MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_exec(MMALIB_kernelHandle handle, const void *src0, const void *src1, void *dst, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_ExecInArgs *pKerInArgs, MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_ExecOutArgs *pKerOutArgs)
This function is the main compute function and performs the deconvolution primitive (conv + ReLU) for...
int32_t MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_getHandleSize(MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_InitArgs *pKerInitArgs)
This is a query function to return the size of internal handle.
void MMALIB_CNN_deconvolveBiasReLUCompute_ixX_ixX_oxX_perfEst(const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *dst_addr, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_InitArgs *kerInitArgs, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_ExecInArgs *pKerInArgs, MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_ExecOutArgs *pKerOutArgs, int32_t iterN, uint64_t *archCycles, uint64_t *estCycles)
This function estimates the cycles consumed for the kernel execution.
MMALIB_STATUS MMALIB_CNN_deconvolve_row_4x4Stride2PreProcessParameters(uint32_t kDim, uint32_t numInChannels, uint32_t pitchA, uint32_t numOutChannels, uint32_t numGroups, const uint32_t mmaSize, const void *restrict src, void *restrict dst)
This is a pre-processing function that reshapes the parameter buffer from to . The kernel expects th...
MMALIB_STATUS MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_init_checkParams(MMALIB_kernelHandle handle, const MMALIB_bufParams2D_t *src0_addr, const MMALIB_bufParams2D_t *src1_addr, const MMALIB_bufParams2D_t *dst_addr, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_InitArgs *pKerInitArgs)
This function call is required to initialize the handle. In this function, most of the one-time opera...
MMALIB_STATUS MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_exec_checkParams(MMALIB_kernelHandle handle, const void *src0, const void *src1, const void *dst, const MMALIB_CNN_deconvolve_row_ixX_ixX_oxX_ExecInArgs *pKerInArgs)
This function checks the parameters and should be called before kernel execution. It can be called on...
MMALIB_STATUS MMALIB_CNN_deconvolve_row_2x2Stride2PreProcessParameters(uint32_t kDim, uint32_t numInChannels, uint32_t pitchA, uint32_t numOutChannels, uint32_t numGroups, const uint32_t mmaSize, const void *restrict src, void *restrict dst)
This is a pre-processing function that reshapes the parameter buffer from to . The kernel expects th...
MMALIB_STATUS MMALIB_CNN_deconvolve_row_8x8Stride2PreProcessParameters(uint32_t kDim, uint32_t numInChannels, uint32_t pitchA, uint32_t numOutChannels, uint32_t numGroups, const uint32_t mmaSize, const void *restrict src, void *restrict dst)
This is a pre-processing function that reshapes the parameter buffer from to . The kernel expects th...
MMALIB_CNN_DECONVOLVE_ROW_IXX_IXX_OXX_STATUS_NAME
Enumeration for different Error codes for MMALIB_CNN_DECONVOLVE_ROW Kernel.
@ MMALIB_CNN_DECONVOLVE_ROW_IXX_IXX_OXX_ERR_SMALL_K
@ MMALIB_CNN_DECONVOLVE_ROW_IXX_IXX_OXX_ERR_MAX
MMALIB_STATUS_NAME
The enumeration of all status codes.
void * MMALIB_kernelHandle
Handle type for MMALIB operations.
Structure containing the parameters for input to the execute phase of CNN deconvolution computation.
uint32_t subMChannels
Input valid rows for A matrix.
int32_t validColsIn
Width of buffer C.
uint32_t validColsOut
Width of buffer C.
Structure containing the parameters initialization of CNN deconvolution computation.
int32_t outputPitchPerRow
Strided convolution - output pitch per row.
int32_t inputPitchPerRow
Strided convolution - input pitch per row.
uint32_t subMChannels
Input valid rows for A matrix.
uint32_t pad
Pad between rows.
int8_t funcStyle
Variant of the function refer to MMALIB_FUNCTION_STYLE
uint32_t inWidth
Line offset in unit of dataType.
int32_t strideY
stride in vertical
int32_t maxHeight
Max Height of input feature maps.
uint32_t numGroups
Total number output groups; supported for only Ni=No=1.
int32_t validColsPerRowIn
Strided convolution - input columns per row.
uint32_t shift
Output shift value.
uint8_t mode
Circular or Linear addressing for B matrix.
int32_t validColsIn
Width of buffer C.
int32_t dilationY
dilation of kernel heigth
int32_t dilationX
dilation of kernel widht
uint32_t inChOffset
Input Channel offset.
uint32_t No
Total number of output channels to be processed.
int32_t validRowsIn
Strided convolution - input rows.
uint8_t activationType
RELU/SAT/None.
int32_t strideX
stride in horizontal
A structure for a 2 dimensional buffer descriptor.