![]() |
DSPLIB User Guide
|
Header file for kernel's internal use. For the kernel's interface, please see DSPLIB_qrd.
Definition in file DSPLIB_qrd_priv.h.
Go to the source code of this file.
Data Structures | |
| struct | DSPLIB_qrd_PrivArgs |
| Structure that is reserved for internal use by the kernel. More... | |
Macros | |
| #define | DSPLIB_QRD_IXX_IXX_OXX_PBLOCK_SIZE (20 * SE_PARAM_SIZE) |
| Macro to define the size of bufPblock array of DSPLIB_qrd_PrivArgs structure. More... | |
Typedefs | |
| typedef DSPLIB_STATUS(* | pFxnDSPLIB_qrd_exec) (DSPLIB_kernelHandle handle, const void *restrict pA, const void *restrict pQ, const void *restrict pR, const void *restrict pU, const void *restrict pScratch) |
| This is a function pointer type that conforms to the declaration of DSPLIB_qrd_exec_ci and DSPLIB_qrd_exec_cn. More... | |
Functions | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_init_ci (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsA, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams1D_t *bufParamsU, const DSPLIB_qrdInitArgs *pKerInitArgs) |
| This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_exec_ci (DSPLIB_kernelHandle handle, const void *restrict pA, const void *restrict pQ, const void *restrict pR, const void *restrict pU, const void *restrict pScratch) |
| This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_exec. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_init_cn (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsA, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams1D_t *bufParamsU, const DSPLIB_qrdInitArgs *pKerInitArgs) |
| This function is the initialization function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_exec_cn (DSPLIB_kernelHandle handle, const void *restrict pA, const void *restrict pQ, const void *restrict pR, const void *restrict pU, const void *restrict pScratch) |
| This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_exec. More... | |
| template<typename dataType > | |
| void | DSPLIB_qrd_blk_move_init_ci (DSPLIB_kernelHandle handle) |
| template<typename dataType > | |
| void | DSPLIB_qrd_alpha_init_ci (DSPLIB_kernelHandle handle) |
| template<typename dataType > | |
| void | DSPLIB_R_column_init_ci (DSPLIB_kernelHandle handle) |
| template<typename dataType > | |
| void | DSPLIB_Q_matrix_init_ci (DSPLIB_kernelHandle handle) |
| template<typename dataType > | |
| void | DSPLIB_qrd_R_matrix_exec_ci (dataType *pLocalR, dataType *pLocalU, dataType *pSum, dataType scale, int32_t colStrideR, int32_t nRows, int32_t nCols, uint8_t *pBlock) |
| template<typename dataType > | |
| void | DSPLIB_qrd_Q_matrix_exec_ci (dataType *pLocalQ, dataType *pLocalU, dataType *pSum, dataType scale, int32_t colStrideQ, int32_t nRows, int32_t nCols, uint8_t *pBlock) |
| #define DSPLIB_QRD_IXX_IXX_OXX_PBLOCK_SIZE (20 * SE_PARAM_SIZE) |
Macro to define the size of bufPblock array of DSPLIB_qrd_PrivArgs structure.
Definition at line 40 of file DSPLIB_qrd_priv.h.
| typedef DSPLIB_STATUS(* pFxnDSPLIB_qrd_exec) (DSPLIB_kernelHandle handle, const void *restrict pA, const void *restrict pQ, const void *restrict pR, const void *restrict pU, const void *restrict pScratch) |
This is a function pointer type that conforms to the declaration of DSPLIB_qrd_exec_ci and DSPLIB_qrd_exec_cn.
Definition at line 47 of file DSPLIB_qrd_priv.h.
| DSPLIB_STATUS DSPLIB_qrd_init_ci | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsA, | ||
| DSPLIB_bufParams2D_t * | bufParamsQ, | ||
| DSPLIB_bufParams2D_t * | bufParamsR, | ||
| DSPLIB_bufParams1D_t * | bufParamsU, | ||
| const DSPLIB_qrdInitArgs * | pKerInitArgs | ||
| ) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_init.
This function determines the configuration for the streaming engine resources based on the function call parameters, and the configuration is saved in bufPBlock array. In the kernel call sequence, DSPLIB_qrd_exec_ci would be called later independently by the application. When DSPLIB_qrd_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_qrd_exec_ci does not lose cycles to determine the hardware configuration.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsA | : Pointer to the structure containing dimensional information of input matrix |
| [out] | bufParamsQ | : Pointer to the structure containing dimensional information of Q matrix |
| [out] | bufParamsR | : Pointer to the structure containing dimensional information of R matrix |
| [in] | bufParamsU | : Pointer to the structure containing dimensional information of temporary vector U. |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 86 of file DSPLIB_qrd_ci.cpp.
| DSPLIB_STATUS DSPLIB_qrd_exec_ci | ( | DSPLIB_kernelHandle | handle, |
| const void *restrict | pA, | ||
| const void *restrict | pQ, | ||
| const void *restrict | pR, | ||
| const void *restrict | pU, | ||
| const void *restrict | pScratch | ||
| ) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_exec.
The function permforms the optimized QR decomposition.
| [in] | handle | : Active handle to the kernel |
| [in] | pA | : Pointer to the input matrix |
| [out] | pQ | : Pointer to the output matrix Q |
| [out] | pR | : Pointer to the output matrix R |
| [in] | pU | : Pointer to the temporary vector |
| [in] | pScratch | Pointer to the Scratch buffer |
Definition at line 370 of file DSPLIB_qrd_ci.cpp.
| DSPLIB_STATUS DSPLIB_qrd_init_cn | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsA, | ||
| DSPLIB_bufParams2D_t * | bufParamsQ, | ||
| DSPLIB_bufParams2D_t * | bufParamsR, | ||
| DSPLIB_bufParams1D_t * | bufParamsU, | ||
| const DSPLIB_qrdInitArgs * | pKerInitArgs | ||
| ) |
This function is the initialization function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_init.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsA | : Pointer to the structure containing dimensional information of input matrix |
| [out] | bufParamsQ | : Pointer to the structure containing dimensional information of Q matrix |
| [out] | bufParamsR | : Pointer to the structure containing dimensional information of R matrix |
| [in] | bufParamsU | : Pointer to the structure containing dimensional information of temporary vector U. |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 44 of file DSPLIB_qrd_cn.cpp.
| DSPLIB_STATUS DSPLIB_qrd_exec_cn | ( | DSPLIB_kernelHandle | handle, |
| const void *restrict | pA, | ||
| const void *restrict | pQ, | ||
| const void *restrict | pR, | ||
| const void *restrict | pU, | ||
| const void *restrict | pScratch | ||
| ) |
This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_exec.
| [in] | handle | : Active handle to the kernel |
| [in] | pA | : Pointer to the input matrix |
| [out] | pQ | : Pointer to the output matrix Q |
| [out] | pR | : Pointer to the output matrix R |
| [in] | pU | : Pointer to the temporary vector |
| [in] | pScratch | Pointer to the Scratch buffer |
Definition at line 75 of file DSPLIB_qrd_cn.cpp.
| void DSPLIB_qrd_blk_move_init_ci | ( | DSPLIB_kernelHandle | handle | ) |
| void DSPLIB_qrd_alpha_init_ci | ( | DSPLIB_kernelHandle | handle | ) |
Definition at line 43 of file DSPLIB_qrd_ci.cpp.
| void DSPLIB_R_column_init_ci | ( | DSPLIB_kernelHandle | handle | ) |
Definition at line 41 of file DSPLIB_qrd_ci_opt.cpp.
| void DSPLIB_Q_matrix_init_ci | ( | DSPLIB_kernelHandle | handle | ) |
Definition at line 62 of file DSPLIB_qrd_ci_opt.cpp.
| void DSPLIB_qrd_R_matrix_exec_ci | ( | dataType * | pLocalR, |
| dataType * | pLocalU, | ||
| dataType * | pSum, | ||
| dataType | scale, | ||
| int32_t | colStrideR, | ||
| int32_t | nRows, | ||
| int32_t | nCols, | ||
| uint8_t * | pBlock | ||
| ) |
Definition at line 242 of file DSPLIB_qrd_ci_opt.cpp.
| void DSPLIB_qrd_Q_matrix_exec_ci | ( | dataType * | pLocalQ, |
| dataType * | pLocalU, | ||
| dataType * | pSum, | ||
| dataType | scale, | ||
| int32_t | colStrideQ, | ||
| int32_t | nRows, | ||
| int32_t | nCols, | ||
| uint8_t * | pBlock | ||
| ) |
Definition at line 1024 of file DSPLIB_qrd_ci_opt.cpp.