65 if (bufParamsX->
dim_x != bufParamsXLocal.
dim_x) {
67 }
else if (bufParamsY->
dim_x != bufParamsYLocal.
dim_x) {
69 }
else if (bufParamsW->
dim_x != bufParamsWLocal.
dim_x) {
98 const void *restrict pX,
99 const void *restrict pW,
100 const void *restrict pY)
104 if ((pX == NULL) || (pW == NULL) || (pY == NULL) ) {
176 pKerPrivArgs->
initArgs = *pKerInitArgs;
187 &bufParamsMatrixData,
189 &bufParamsMatrixData,
197 const void *restrict pX,
198 const void *restrict pW,
template FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_twGen< int32_t >(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *restrict pW, const FFTLIB_bufParams1D_t *bufParamsW)
template FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getSizes< FFTLIB_INT16 >(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY)
template FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_twGen< int16_t >(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *restrict pW, const FFTLIB_bufParams1D_t *bufParamsW)
template FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getSizes< FFTLIB_INT32 >(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY)
Header file for kernel's internal use. For the kernel's interface, please see FFTLIB_FFT_dftLarge_ixX...
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_exec(FFTLIB_kernelHandle handle, const void *src0, const void *src1, void *dst)
This function is the main compute function, and performs matrix-matrix multiplication.
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_init_checkParams(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 checks the parameters and should be called before kernel executuon. It can be called on...
FFTLIB_STATUS FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_init(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 call is required to initialize the handle. In this function most of the one time operat...
static int32_t FFTLIB_sizeof(uint32_t type)
Inline function returns number of bytes per element given a type of _FFTLIB_data_type_e.
void * FFTLIB_kernelHandle
Handle type for FFTLIB operations.
FFTLIB_STATUS_NAME
The enumeration of all status codes.
@ FFTLIB_ERR_NOT_IMPLEMENTED
@ FFTLIB_ERR_INVALID_TYPE
@ FFTLIB_ERR_NULL_POINTER
@ FFTLIB_ERR_INVALID_DIMENSION
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_exec_checkParams(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, const void *restrict pY)
This function checks the validity of the parameters passed to FFTLIB_FFT_dftLarge_ixX_cxX_oxX_exec fu...
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_twGen(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *pW, const FFTLIB_bufParams1D_t *bufParamsW)
This is a utility function that generates the DFT computational matrix into the provided buffer.
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getSizes(const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY)
This is a query function to calculate the sizes of input, output and the DFT computational matrix buf...
int32_t FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getHandleSize(FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This is a query function to calculate the size of internal handle.
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_init_checkParams(FFTLIB_kernelHandle handle, const FFTLIB_bufParams1D_t *bufParamsX, const FFTLIB_bufParams1D_t *bufParamsW, const FFTLIB_bufParams1D_t *bufParamsY, const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This function checks the validity of the parameters passed to FFTLIB_FFT_dftLarge_ixX_cxX_oxX_init fu...
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_init(FFTLIB_kernelHandle handle, const FFTLIB_bufParams1D_t *bufParamsX, const FFTLIB_bufParams1D_t *bufParamsW, const FFTLIB_bufParams1D_t *bufParamsY, const FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This function should be called before the FFTLIB_FFT_dftLarge_ixX_cxX_oxX_exec function is called....
FFTLIB_STATUS FFTLIB_FFT_dftLarge_ixX_cxX_oxX_exec(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, void *restrict pY)
This function is the main kernel compute function.
Structure containing the parameters for DFT computation.
int8_t funcStyle
Variant of the function refer to FFTLIB_FUNCTION_STYLE.
uint32_t shiftVector[FFTLIB_FFT_DFTLARGE_IXX_CXX_OXX_NUMSHIFTS]
Array containing the bit-shift values to be used for internal computation.
uint32_t batchSize
Size of the batch in terms of number of channels of DFT's.
uint32_t fftSize
Size of each channel's data in terms of number of complex points.
Structure that is reserved for internal use by the kernel.
FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_PrivArgs matrixMatrixMultiplyPrivArgs
Structure to maintain the internal use parameters of FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX k...
FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX_InitArgs matrixMatrixMultiplyInitArgs
Structure to hold the initialization parameters of FFTLIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX ker...
FFTLIB_FFT_dftLarge_ixX_cxX_oxX_InitArgs initArgs
Structure holding initialization parameters
int8_t shift
Output shift value.
A structure for a 1 dimensional buffer descriptor.
uint32_t data_type
Values are of type FFTLIB_data_type_e.
uint32_t dim_x
Width of buffer in X dimension in elements.
A structure for a 2 dimensional buffer descriptor.
uint32_t dim_y
Height of buffer in Y dimension in elements.
uint32_t dim_x
Width of buffer in X dimension in elements.
int32_t stride_y
Stride in Y dimension in bytes.
uint32_t data_type
Values are of type FFTLIB_data_type_e.