![]() |
DSPLIB User Guide
|
Header file for kernel's internal use. For the kernel's interface, please see DSPLIB_cholesky_solver.
Definition in file DSPLIB_cholesky_solver_priv.h.
Go to the source code of this file.
Data Structures | |
| struct | DSPLIB_cholesky_solver_PrivArgs |
| Structure that is reserved for internal use by the kernel. More... | |
Macros | |
| #define | DSPLIB_CHOLESKY_SOLVER_IXX_IXX_OXX_PBLOCK_SIZE (7 * SE_PARAM_SIZE) |
| Macro to define the size of bufPblock array of DSPLIB_cholesky_solver_PrivArgs structure. More... | |
Typedefs | |
| typedef DSPLIB_STATUS(* | pFxnDSPLIB_cholesky_solver_exec) (DSPLIB_kernelHandle handle, void *restrict pU, void *restrict pScratch, void *restrict pY, void *restrict pB, void *restrict pX, void *restrict pDiv) |
| This is a function pointer type that conforms to the declaration of DSPLIB_cholesky_solver_exec_ci and DSPLIB_cholesky_solver_exec_cn. More... | |
Functions | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_cholesky_solver_init_ci (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsU, DSPLIB_bufParams2D_t *bufParamsScratch, DSPLIB_bufParams1D_t *bufParamsY, DSPLIB_bufParams1D_t *bufParamsB, DSPLIB_bufParams1D_t *bufParamsX, DSPLIB_bufParams1D_t *bufParamsDiv, const DSPLIB_cholesky_solver_InitArgs *pKerInitArgs) |
| This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_cholesky_solver_exec_ci (DSPLIB_kernelHandle handle, void *restrict pU, void *restrict pScratch, void *restrict pY, void *restrict pB, void *restrict pX, void *restrict pDiv) |
| This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_exec. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_cholesky_solver_exec_cn (DSPLIB_kernelHandle handle, void *restrict pU, void *restrict pScratch, void *restrict pY, void *restrict pB, void *restrict pX, void *restrict pDiv) |
| This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_exec. More... | |
| #define DSPLIB_CHOLESKY_SOLVER_IXX_IXX_OXX_PBLOCK_SIZE (7 * SE_PARAM_SIZE) |
Macro to define the size of bufPblock array of DSPLIB_cholesky_solver_PrivArgs structure.
Definition at line 40 of file DSPLIB_cholesky_solver_priv.h.
| typedef DSPLIB_STATUS(* pFxnDSPLIB_cholesky_solver_exec) (DSPLIB_kernelHandle handle, void *restrict pU, void *restrict pScratch, void *restrict pY, void *restrict pB, void *restrict pX, void *restrict pDiv) |
This is a function pointer type that conforms to the declaration of DSPLIB_cholesky_solver_exec_ci and DSPLIB_cholesky_solver_exec_cn.
Definition at line 47 of file DSPLIB_cholesky_solver_priv.h.
| DSPLIB_STATUS DSPLIB_cholesky_solver_init_ci | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsU, | ||
| DSPLIB_bufParams2D_t * | bufParamsScratch, | ||
| DSPLIB_bufParams1D_t * | bufParamsY, | ||
| DSPLIB_bufParams1D_t * | bufParamsB, | ||
| DSPLIB_bufParams1D_t * | bufParamsX, | ||
| DSPLIB_bufParams1D_t * | bufParamsDiv, | ||
| const DSPLIB_cholesky_solver_InitArgs * | pKerInitArgs | ||
| ) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_init.
This function determines the configuration for the streaming engine and MMA hardware resources based on the function call parameters, and the configuration is saved in bufPBlock array. In the kernel call sequence, DSPLIB_cholesky_solver_exec_ci would be called later independently by the application. When DSPLIB_cholesky_solver_exec_ci runs, it merely retrieves the configuration from the bufPBlock and uses it to set up the hardware resources. This arrangement is so that DSPLIB_cholesky_solver_exec_ci does not lose cycles to determine the hardware configuration.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsU | : Pointer to the structure containing dimensional information of input U matrix |
| [in] | bufParamsScratch | : Pointer to the structure containing dimensional information of scratch buffer |
| [in] | bufParamsY | : Pointer to the structure containing dimensional information of Y vector |
| [in] | bufParamsB | : Pointer to the structure containing dimensional information of B vector |
| [out] | bufParamsX | : Pointer to the structure containing dimensional information of output X vector |
| [in] | bufParamsDiv | : Pointer to the structure containing dimensional information of Div vector |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 133 of file DSPLIB_cholesky_solver_ci.cpp.
| DSPLIB_STATUS DSPLIB_cholesky_solver_exec_ci | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pU, | ||
| void *restrict | pScratch, | ||
| void *restrict | pY, | ||
| void *restrict | pB, | ||
| void *restrict | pX, | ||
| void *restrict | pDiv | ||
| ) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_exec.
The function uses the Streaming Engine and Streaming Address generators to solve A*x = b for x.
| [in] | handle | : Active handle to the kernel |
| [in] | pU | : Pointer to buffer holding the input data U[order][order] |
| [in] | pScratch | : Pointer to scratch buffer |
| [in] | pY | : Pointer to buffer holding the intermediate vector Y[order] |
| [in] | pB | : Pointer to buffer holding the input vector B[order] |
| [in] | pX | : Pointer to buffer holding the output data X[order] |
| [in] | pDiv | : Pointer to buffer holding the intermediate data pDiv[order] |
Definition at line 630 of file DSPLIB_cholesky_solver_ci.cpp.
| DSPLIB_STATUS DSPLIB_cholesky_solver_exec_cn | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pU, | ||
| void *restrict | pScratch, | ||
| void *restrict | pY, | ||
| void *restrict | pB, | ||
| void *restrict | pX, | ||
| void *restrict | pDiv | ||
| ) |
This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_cholesky_solver_exec.
| [in] | handle | : Active handle to the kernel |
| [in] | pU | : Pointer to buffer holding the input data U[order][order] |
| [in] | pScratch | : Pointer to scratch buffer |
| [in] | pY | : Pointer to buffer holding the intermediate vector Y[order] |
| [in] | pB | : Pointer to buffer holding the input vector B[order] |
| [in] | pX | : Pointer to buffer holding the output data X[order] |
| [in] | pDiv | : Pointer to buffer holding the intermediate data pDiv[order] |
Definition at line 68 of file DSPLIB_cholesky_solver_cn.cpp.