21 #ifndef FFTLIB_LINALG_MATRIXMATRIXMULTIPLY_IXX_IXX_OXX_PRIV_H_
22 #define FFTLIB_LINALG_MATRIXMATRIXMULTIPLY_IXX_IXX_OXX_PRIV_H_
25 #include "../../common/FFTLIB_utility.h"
38 #define FFTLIB_LINALG_MATRIXMATRIXMULTIPLY_IXX_IXX_OXX_PBLOCK_SIZE (3*SE_PARAM_SIZE + 1*FFTLIB_PARAM_SIZE)
101 template <u
int32_t dataType>
126 template <
int32_t MMA_SIZE>
178 template <
typename dataType,
typename accumulateType>
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_exec_cn(FFTLIB_kernelHandle handle, const void *src0, const void *src1, void *dst)
This function is the main execution function for the natural C implementation of the matrix-matrix mu...
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_init_ci(FFTLIB_kernelHandle handle, const FFTLIB_bufParams2D_t *src0_addr, const FFTLIB_bufParams2D_t *src1_addr, const FFTLIB_bufParams2D_t *dst_addr, const FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_InitArgs *pKerInitArgs)
This function is the initialization function for the optimized C implementation of the kernel.
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_exec_ci(FFTLIB_kernelHandle handle, const void *src0, const void *src1, void *dst)
This function is the main execution function for the optimized C7x-MMA implementation of the matrix-m...
FFTLIB_STATUS(* pFxnFFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_exec)(FFTLIB_kernelHandle handle, const void *src0, const void *src1, void *dst)
This is a function pointer type that conforms to the declaration of FFTLIB_LINALG_matrixMatrixMultipl...
#define FFTLIB_LINALG_MATRIXMATRIXMULTIPLY_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_PrivArg...
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_init_cn(FFTLIB_kernelHandle handle, const FFTLIB_bufParams2D_t *src0_addr, const FFTLIB_bufParams2D_t *src1_addr, const FFTLIB_bufParams2D_t *dst_addr, const FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_InitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel.
void * FFTLIB_kernelHandle
Handle type for FFTLIB operations.
FFTLIB_STATUS_NAME
The enumeration of all status codes.
FFTLIB_STATUS_NAME FFTLIB_STATUS
Return value for FFTLIB functions.
This structure holds all the initialization parameters for matrix- matrix multiplication.
This structure holds all private arguments.
int32_t strideBElements
Row stride for the B matrix.
pFxnFFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_exec execute
Function pointer to the execution variant.
int32_t K
Number of blocks in the horizontal dimension of the first input matrix. In the case of natural C code...
int32_t M
Number of blocks in the vertical dimension of the first input matrix. In the case of natural C code,...
int32_t strideCElements
Row stride for the C matrix.
int32_t strideAElements
Row stride for the A matrix.
int32_t N
Number of blocks in the horizontal dimension of the second input matrix. In the case of natural C cod...
FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_InitArgs initArgs
Structure holding initialization parameters.
A structure for a 2 dimensional buffer descriptor.