DSPLIB User Guide
DSPLIB_lud_sol_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_sol_priv.h
14  *
15  * @brief File to hold private parameter of function DSPLIB_lud_sol
16  *
17  * @version 0.1 - Jun 2023 : Initial Version
18  *
19  ********************************************************************************/
20 
21 #ifndef DSPLIB_LUD_SOL_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_LUD_SOL_IXX_IXX_OXX_PRIV_H_
23 
24 #include "../common/DSPLIB_utility.h"
25 #include "DSPLIB_lud_sol.h"
26 #include "../DSPLIB_matTrans/DSPLIB_matTrans_priv.h"
27 
39 #define DSPLIB_LUD_SOL_IXX_IXX_OXX_PBLOCK_SIZE (8 * SE_PARAM_SIZE)
40 
47  void *restrict pP,
48  void *restrict pL,
49  void *restrict pU,
50  void *restrict pB,
51  void *restrict pX,
52  void *restrict pVecScratch,
53  void *restrict pScratchTrans);
54 
91 template <typename dataType>
93  const DSPLIB_bufParams2D_t * bufParamsP,
94  const DSPLIB_bufParams2D_t * bufParamsL,
95  const DSPLIB_bufParams2D_t * bufParamsU,
96  const DSPLIB_bufParams1D_t * bufParamsB,
97  const DSPLIB_bufParams1D_t * bufParamsX,
98  const DSPLIB_bufParams2D_t * bufParamsVecScratch,
99  const DSPLIB_bufParams2D_t * bufParamsTransposeScratch,
100  const DSPLIB_lud_solInitArgs *pKerInitArgs);
101 
126 template <typename dataType>
128  void *restrict pP,
129  void *restrict pL,
130  void *restrict pU,
131  void *restrict pB,
132  void *restrict pX,
133  void *restrict pVecScratch,
134  void *restrict pScratchTrans);
135 
164  const DSPLIB_bufParams2D_t * bufParamsP,
165  const DSPLIB_bufParams2D_t * bufParamsL,
166  const DSPLIB_bufParams2D_t * bufParamsU,
167  const DSPLIB_bufParams1D_t * bufParamsB,
168  const DSPLIB_bufParams1D_t * bufParamsX,
169  const DSPLIB_bufParams2D_t * bufParamsVecScratch,
170  const DSPLIB_bufParams2D_t * bufParamsTransposeScratch,
171  const DSPLIB_lud_solInitArgs *pKerInitArgs);
172 
192 template <typename dataType>
194  void *restrict pP,
195  void *restrict pL,
196  void *restrict pU,
197  void *restrict pB,
198  void *restrict pX,
199  void *restrict pVecScratch,
200  void *restrict pScratchTrans);
201 
205 typedef struct {
214  int32_t order;
216  int32_t strideOrder;
218  int32_t strideP;
220  int32_t strideVec;
226 
227 #endif /* DSPLIB_LUD_SOL_IXX_IXX_OXX_PRIV_H_ */
228 
229 /* ======================================================================== */
230 /* End of file: DSPLIB_lud_sol_priv.h */
231 /* ======================================================================== */
DSPLIB_STATUS DSPLIB_lud_sol_exec_ci(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pB, void *restrict pX, void *restrict pVecScratch, void *restrict pScratchTrans)
This function is the main execution function for the C7x implementation of the kernel....
DSPLIB_STATUS DSPLIB_lud_sol_init_cn(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsP, const DSPLIB_bufParams2D_t *bufParamsL, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams1D_t *bufParamsB, const DSPLIB_bufParams1D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsVecScratch, const DSPLIB_bufParams2D_t *bufParamsTransposeScratch, const DSPLIB_lud_solInitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
DSPLIB_STATUS(* pFxnDSPLIB_lud_sol_exec)(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pB, void *restrict pX, void *restrict pVecScratch, void *restrict pScratchTrans)
This is a function pointer type that conforms to the declaration of DSPLIB_lud_sol_exec_ci and DSPLIB...
DSPLIB_STATUS DSPLIB_lud_sol_init_ci(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsP, const DSPLIB_bufParams2D_t *bufParamsL, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams1D_t *bufParamsB, const DSPLIB_bufParams1D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsVecScratch, const DSPLIB_bufParams2D_t *bufParamsTransposeScratch, const DSPLIB_lud_solInitArgs *pKerInitArgs)
This function is the initialization function for the C7x implementation of the kernel....
#define DSPLIB_LUD_SOL_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of DSPLIB_lud_sol_PrivArgs structure.
DSPLIB_STATUS DSPLIB_lud_sol_exec_cn(DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pB, void *restrict pX, void *restrict pVecScratch, void *restrict pScratchTrans)
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 1 dimensional buffer descriptor.
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.
int32_t strideOrder
Stride between rows of input and output data matrix
pFxnDSPLIB_lud_sol_exec execute
Function pointer to point to the right execution variant between DSPLIB_lud_sol_exec_cn and DSPLIB_lu...
DSPLIB_matTrans_PrivArgs pMatTransKerPrivArgs
Privargs for the matTrans kernel.
int32_t order
Size of input buffer for different batches DSPLIB_lud_sol_init that will be retrieved and used by DSP...
int32_t strideP
Stride between rows of input data matrix P
int32_t strideVec
Stride between rows of scratch data matrix
Structure that is reserved for internal use by the kernel.