21 #ifndef DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PRIV_H_
24 #include "../common/DSPLIB_utility.h"
27 #include "../DSPLIB_matTrans/DSPLIB_matTrans_priv.h"
28 #include "../DSPLIB_matMul/DSPLIB_matMul_priv.h"
41 #define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PBLOCK_SIZE (6 * SE_PARAM_SIZE)
52 void *restrict pInvAScratch,
53 void *restrict pScratch);
85 template <
typename dataType>
114 template <
typename dataType>
118 void *restrict pInvA,
119 void *restrict pInvAScratch,
120 void *restrict pScratch);
142 template <
typename dataType>
166 template <
typename dataType>
170 void *restrict pInvA,
171 void *restrict pInvAScratch,
172 void *restrict pScratch);
DSPLIB_STATUS DSPLIB_qrd_inverse_init_cn(DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams2D_t *bufParamsInvA, DSPLIB_bufParams2D_t *bufParamsInvAFinal, const DSPLIB_qrdInvInitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
DSPLIB_STATUS DSPLIB_qrd_inverse_init_ci(DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams2D_t *bufParamsInvA, DSPLIB_bufParams2D_t *bufParamsInvAFinal, const DSPLIB_qrdInvInitArgs *pKerInitArgs)
This function is the initialization function for the C7x implementation of the kernel....
DSPLIB_STATUS DSPLIB_qrd_inverse_exec_ci(DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch)
This function is the main execution function for the C7x implementation of the kernel....
DSPLIB_STATUS(* pFxnDSPLIB_qrd_inverse_exec)(DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch)
This is a function pointer type that conforms to the declaration of DSPLIB_qrd_inverse_exec_ci and DS...
#define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of DSPLIB_qrd_inverse_PrivArgs structure.
DSPLIB_STATUS DSPLIB_qrd_inverse_exec_cn(DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch)
This function is the main execution function for the natural C implementation of the kernel....
DSPLIB_STATUS_NAME DSPLIB_STATUS
Return value for DSPLIB functions.
DSPLIB_STATUS_NAME
The enumeration of all status codes.
void * DSPLIB_kernelHandle
Handle type for DSPLIB operations.
A structure for a 2 dimensional buffer descriptor.
Structure that is reserved for internal use by the kernel.
Structure that is reserved for internal use by the kernel.
Structure containing the parameters to initialize the kernel.
Structure that is reserved for internal use by the kernel.
uint32_t heightR
Height of input data matrix
DSPLIB_matMul_PrivArgs pMatMulKerPrivArgs
Privargs for the matMul kernel.
int32_t strideR
Stride between rows of R output data matrix
DSPLIB_matTrans_PrivArgs pMatTransKerPrivArgs
Privargs for the matTrans kernel.
uint32_t widthR
Size of input buffer for different batches DSPLIB_qrd_inverse_init that will be retrieved and used by...
int32_t strideInvA
Stride between rows of input data matrix
pFxnDSPLIB_qrd_inverse_exec execute
Function pointer to point to the right execution variant between DSPLIB_qrd_inverse_exec_cn and DSPLI...
int32_t strideQ
Stride between rows of Q output data matrix