DSPLIB User Guide
DSPLIB_lud_sol_cn.cpp File Reference

Go to the source code of this file.

Functions

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 *bufParamsScratchTrans, const DSPLIB_lud_solInitArgs *pKerInitArgs)
 This function is the initialization function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_lud_sol_init. More...
 
template<typename dataType >
int DSPLIB_lud_sol_cn (int32_t order, unsigned short *P, dataType *L, dataType *U, dataType *B, dataType *B_Mod, dataType *Y, dataType *X, const int32_t strideOrder, const int32_t strideP)
 
template int DSPLIB_lud_sol_cn< float > (int32_t order, unsigned short *P, float *L, float *U, float *B, float *B_Mod, float *Y, float *X, const int32_t strideOrder, const int32_t strideP)
 
template int DSPLIB_lud_sol_cn< double > (int32_t order, unsigned short *P, double *L, double *U, double *B, double *B_Mod, double *Y, double *X, const int32_t strideOrder, const int32_t strideP)
 
template<typename dataType >
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. The function declaration conforms to the declaration of DSPLIB_lud_sol_exec. More...
 
template DSPLIB_STATUS DSPLIB_lud_sol_exec_cn< float > (DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pB, void *restrict pX, void *restrict pVecScratch, void *restrict pScratchTrans)
 
template DSPLIB_STATUS DSPLIB_lud_sol_exec_cn< double > (DSPLIB_kernelHandle handle, void *restrict pP, void *restrict pL, void *restrict pU, void *restrict pB, void *restrict pX, void *restrict pVecScratch, void *restrict pScratchTrans)
 

Function Documentation

◆ DSPLIB_lud_sol_init_cn()

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. The function declaration conforms to the declaration of DSPLIB_lud_sol_init.

Parameters
[in]handle: Active handle to the kernel
[in]bufParamsP: Pointer to the structure containing dimensional information of input buffer P
[in]bufParamsL: Pointer to the structure containing dimensional information of input buffer L
[in]bufParamsU: Pointer to the structure containing dimensional information of input buffer U
[in]bufParamsB: Pointer to the structure containing dimensional information of input buffer B
[out]bufParamsX: Pointer to the structure containing dimensional information of ouput buffer X
[in]bufParamsVecScratch: Pointer to the structure containing dimensional information of intermediate buffer
[in]bufParamsTransposeScratch: Pointer to the structure containing dimensional information of scratch buffer pScratchTrans
[in]pKerInitArgs: Pointer to the structure holding init parameters
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.

Definition at line 36 of file DSPLIB_lud_sol_cn.cpp.

◆ DSPLIB_lud_sol_cn()

template<typename dataType >
int DSPLIB_lud_sol_cn ( int32_t  order,
unsigned short *  P,
dataType *  L,
dataType *  U,
dataType *  B,
dataType *  B_Mod,
dataType *  Y,
dataType *  X,
const int32_t  strideOrder,
const int32_t  strideP 
)

Definition at line 57 of file DSPLIB_lud_sol_cn.cpp.

◆ DSPLIB_lud_sol_cn< float >()

template int DSPLIB_lud_sol_cn< float > ( int32_t  order,
unsigned short *  P,
float *  L,
float *  U,
float *  B,
float *  B_Mod,
float *  Y,
float *  X,
const int32_t  strideOrder,
const int32_t  strideP 
)

◆ DSPLIB_lud_sol_cn< double >()

template int DSPLIB_lud_sol_cn< double > ( int32_t  order,
unsigned short *  P,
double *  L,
double *  U,
double *  B,
double *  B_Mod,
double *  Y,
double *  X,
const int32_t  strideOrder,
const int32_t  strideP 
)

◆ DSPLIB_lud_sol_exec_cn()

template<typename dataType >
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. The function declaration conforms to the declaration of DSPLIB_lud_sol_exec.

Parameters
[in]handle: Active handle to the kernel
[in]pP: Pointer to permutation matrix P
[in]pL: Pointer to lower triangular matrix L
[in]pU: Pointer to upper triangular matrix U
[in]pB: Pointer to vector b
[out]pX: Pointer to final solver output vector x
[in]pVecScratch: Pointer to intermediate buffer
[in]pScratchTrans: Pointer to scratch buffer for transpose
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.

Definition at line 141 of file DSPLIB_lud_sol_cn.cpp.

◆ DSPLIB_lud_sol_exec_cn< float >()

template DSPLIB_STATUS DSPLIB_lud_sol_exec_cn< float > ( DSPLIB_kernelHandle  handle,
void *restrict  pP,
void *restrict  pL,
void *restrict  pU,
void *restrict  pB,
void *restrict  pX,
void *restrict  pVecScratch,
void *restrict  pScratchTrans 
)

◆ DSPLIB_lud_sol_exec_cn< double >()

template DSPLIB_STATUS DSPLIB_lud_sol_exec_cn< double > ( DSPLIB_kernelHandle  handle,
void *restrict  pP,
void *restrict  pL,
void *restrict  pU,
void *restrict  pB,
void *restrict  pX,
void *restrict  pVecScratch,
void *restrict  pScratchTrans 
)