DSPLIB User Guide
DSPLIB_lud_inv_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_lud_inv_priv.h
14  *
15  * @brief File to hold private parameter of function DSPLIB_lud_inv
16  *
17  * @version 0.1 - Jun 2023 : Initial Version
18  *
19  ********************************************************************************/
20 
21 #ifndef DSPLIB_LUD_INV_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_LUD_INV_IXX_IXX_OXX_PRIV_H_
23 
24 #include "../common/DSPLIB_utility.h"
25 #include "DSPLIB_lud_inv.h"
26 #include "../DSPLIB_matTrans/DSPLIB_matTrans_priv.h"
27 #include "../DSPLIB_matMul/DSPLIB_matMul_priv.h"
28 
40 #define DSPLIB_LUD_INV_IXX_IXX_OXX_PBLOCK_SIZE (10 * SE_PARAM_SIZE)
41 
48  void *restrict pP,
49  void *restrict pL,
50  void *restrict pU,
51  void *restrict pinvA,
52  void *restrict pScratch);
53 
85 template <typename dataType>
87  const DSPLIB_bufParams2D_t * bufParamsP,
88  const DSPLIB_bufParams2D_t * bufParamsL,
89  const DSPLIB_bufParams2D_t * bufParamsU,
90  const DSPLIB_bufParams2D_t * bufParamsinvA,
91  const DSPLIB_lud_invInitArgs *pKerInitArgs);
92 
117 template <typename dataType>
119  void *restrict pP,
120  void *restrict pL,
121  void *restrict pU,
122  void *restrict pinvA,
123  void *restrict pScratch);
124 
148  const DSPLIB_bufParams2D_t * bufParamsP,
149  const DSPLIB_bufParams2D_t * bufParamsL,
150  const DSPLIB_bufParams2D_t * bufParamsU,
151  const DSPLIB_bufParams2D_t * bufParamsinvA,
152  const DSPLIB_lud_invInitArgs *pKerInitArgs);
153 
171 template <typename dataType>
173  void *restrict pP,
174  void *restrict pL,
175  void *restrict pU,
176  void *restrict pinvA,
177  void *restrict pScratch);
178 
182 typedef struct {
191  int32_t order;
193  int32_t strideOrder;
195  int32_t strideP;
203 
204 #endif /* DSPLIB_LUD_INV_IXX_IXX_OXX_PRIV_H_ */
205 
206 /* ======================================================================== */
207 /* End of file: DSPLIB_lud_inv_priv.h */
208 /* ======================================================================== */
DSPLIB_STATUS DSPLIB_lud_inv_exec_ci(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pinvA, void *restrict pScratch)
This function is the main execution function for the C7x implementation of the kernel....
DSPLIB_STATUS DSPLIB_lud_inv_exec_cn(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pinvA, void *restrict pScratch)
This function is the main execution function for the natural C implementation of the kernel....
DSPLIB_STATUS DSPLIB_lud_inv_init_cn(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsP, const DSPLIB_bufParams2D_t *bufParamsL, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsinvA, const DSPLIB_lud_invInitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
DSPLIB_STATUS DSPLIB_lud_inv_init_ci(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsP, const DSPLIB_bufParams2D_t *bufParamsL, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsinvA, const DSPLIB_lud_invInitArgs *pKerInitArgs)
This function is the initialization function for the C7x implementation of the kernel....
#define DSPLIB_LUD_INV_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of DSPLIB_lud_inv_PrivArgs structure.
DSPLIB_STATUS(* pFxnDSPLIB_lud_inv_exec)(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pinvA, void *restrict pScratch)
This is a function pointer type that conforms to the declaration of DSPLIB_lud_inv_exec_ci and DSPLIB...
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 containing the parameters to initialize the kernel.
Structure that is reserved for internal use by the kernel.
pFxnDSPLIB_lud_inv_exec execute
Function pointer to point to the right execution variant between DSPLIB_lud_inv_exec_cn and DSPLIB_lu...
DSPLIB_matMul_PrivArgs pMatMulKerPrivArgs
Privargs for the matMul kernel.
DSPLIB_matTrans_PrivArgs pMatTransKerPrivArgs
Privargs for the matTrans kernel.
int32_t strideOrder
Stride between rows of input and output data matrix
int32_t order
Size of input buffer for different batches DSPLIB_lud_inv_init that will be retrieved and used by DSP...
int32_t strideP
Stride between rows of output data matrix P
Structure that is reserved for internal use by the kernel.
Structure that is reserved for internal use by the kernel.