DSPLIB User Guide
DSPLIB_qrd_inverse_priv.h
Go to the documentation of this file.
1 /******************************************************************************
2  * *
3  * module name :DSPLIB *
4  * *
5  * module descripton :Digital Signal Processing Library module for C7x+MMA *
6  * *
7  * Copyright (C) 2017-2018 Texas Instruments Incorporated - https://www.ti.com/ *
8  * ALL RIGHTS RESERVED *
9  * *
10  ******************************************************************************/
11 
12 /********************************************************************************
13  * @file DSPLIB_qrd_inverse_priv.h
14  *
15  * @brief File to hold private parameter of function DSPLIB_qrd_inverse
16  *
17  * @version 0.1 - Jun 2023 : Initial Version
18  *
19  ********************************************************************************/
20 
21 #ifndef DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PRIV_H_
23 
24 #include "../common/DSPLIB_utility.h"
25 #include "DSPLIB_qrd_common.h"
26 #include "DSPLIB_qrd_inverse.h"
27 #include "../DSPLIB_matTrans/DSPLIB_matTrans_priv.h"
28 #include "../DSPLIB_matMul/DSPLIB_matMul_priv.h"
29 
41 #define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PBLOCK_SIZE (6 * SE_PARAM_SIZE)
42 
49  void *restrict pQ,
50  void *restrict pR,
51  void *restrict pInvA,
52  void *restrict pInvAScratch,
53  void *restrict pScratch);
54 
85 template <typename dataType>
87  DSPLIB_bufParams2D_t *bufParamsQ,
88  DSPLIB_bufParams2D_t *bufParamsR,
89  DSPLIB_bufParams2D_t *bufParamsInvA,
90  DSPLIB_bufParams2D_t *bufParamsInvAFinal,
91  const DSPLIB_qrdInvInitArgs *pKerInitArgs);
92 
114 template <typename dataType>
116  void *restrict pQ,
117  void *restrict pR,
118  void *restrict pInvA,
119  void *restrict pInvAScratch,
120  void *restrict pScratch);
121 
142 template <typename dataType>
144  DSPLIB_bufParams2D_t *bufParamsQ,
145  DSPLIB_bufParams2D_t *bufParamsR,
146  DSPLIB_bufParams2D_t *bufParamsInvA,
147  DSPLIB_bufParams2D_t *bufParamsInvAFinal,
148  const DSPLIB_qrdInvInitArgs *pKerInitArgs);
149 
166 template <typename dataType>
168  void *restrict pQ,
169  void *restrict pR,
170  void *restrict pInvA,
171  void *restrict pInvAScratch,
172  void *restrict pScratch);
173 
177 typedef struct {
186  uint32_t widthR;
188  uint32_t heightR;
190  int32_t strideQ;
192  int32_t strideR;
194  int32_t strideInvA;
202 
203 #endif /* DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PRIV_H_ */
204 
205 /* ======================================================================== */
206 /* End of file: DSPLIB_qrd_inverse_priv.h */
207 /* ======================================================================== */
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.
Definition: DSPLIB_types.h:170
DSPLIB_STATUS_NAME
The enumeration of all status codes.
Definition: DSPLIB_types.h:151
void * DSPLIB_kernelHandle
Handle type for DSPLIB operations.
Definition: DSPLIB_types.h:172
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