![]() |
DSPLIB User Guide
|
Header file for kernel's internal use. For the kernel's interface, please see DSPLIB_qrd_inverse.
Definition in file DSPLIB_qrd_inverse_priv.h.
Go to the source code of this file.
Data Structures | |
| struct | DSPLIB_qrd_inverse_PrivArgs |
| Structure that is reserved for internal use by the kernel. More... | |
Macros | |
| #define | DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PBLOCK_SIZE (6 * SE_PARAM_SIZE) |
| Macro to define the size of bufPblock array of DSPLIB_qrd_inverse_PrivArgs structure. More... | |
Typedefs | |
| typedef DSPLIB_STATUS(* | pFxnDSPLIB_qrd_inverse_exec) (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch) |
| This is a function pointer type that conforms to the declaration of DSPLIB_qrd_inverse_exec_ci and DSPLIB_qrd_inverse_exec_cn. More... | |
Functions | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_init_ci (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams2D_t *bufParamsInvA, DSPLIB_bufParams2D_t *bufParamsInvAFinal, const DSPLIB_qrdInvInitArgs *pKerInitArgs) |
| This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_inverse_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_exec_ci (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, 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_inverse_exec. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_init_cn (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsQ, DSPLIB_bufParams2D_t *bufParamsR, DSPLIB_bufParams2D_t *bufParamsInvA, DSPLIB_bufParams2D_t *bufParamsInvAFinal, const DSPLIB_qrdInvInitArgs *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_inverse_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_exec_cn (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, 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_inverse_exec. More... | |
| #define DSPLIB_QRD_INVERSE_IXX_IXX_OXX_PBLOCK_SIZE (6 * SE_PARAM_SIZE) |
Macro to define the size of bufPblock array of DSPLIB_qrd_inverse_PrivArgs structure.
Definition at line 41 of file DSPLIB_qrd_inverse_priv.h.
| typedef DSPLIB_STATUS(* pFxnDSPLIB_qrd_inverse_exec) (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch) |
This is a function pointer type that conforms to the declaration of DSPLIB_qrd_inverse_exec_ci and DSPLIB_qrd_inverse_exec_cn.
Definition at line 48 of file DSPLIB_qrd_inverse_priv.h.
| DSPLIB_STATUS DSPLIB_qrd_inverse_init_ci | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsQ, | ||
| DSPLIB_bufParams2D_t * | bufParamsR, | ||
| DSPLIB_bufParams2D_t * | bufParamsInvA, | ||
| DSPLIB_bufParams2D_t * | bufParamsInvAFinal, | ||
| const DSPLIB_qrdInvInitArgs * | pKerInitArgs | ||
| ) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_qrd_inverse_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_inverse_exec_ci would be called later independently by the application. When DSPLIB_qrd_inverse_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_inverse_exec_ci does not lose cycles to determine the hardware configuration.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsQ | : Pointer to the structure containing dimensional information of Q matrix |
| [in] | bufParamsR | : Pointer to the structure containing dimensional information of R matrix |
| [in] | bufParamsInvA | : Pointer to the structure containing dimensional information of A inverse buffer matrix |
| [out] | bufParamsInvAFinal | : Pointer to the structure containing dimensional information of final A inverse matrix. |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 147 of file DSPLIB_qrd_inverse_ci.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_exec_ci | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pQ, | ||
| void *restrict | pR, | ||
| void *restrict | pInvA, | ||
| void *restrict | pInvAScratch, | ||
| 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_inverse_exec.
The function implements the optimized code for computing inverse of input matrix A.
| [in] | handle | : Active handle to the kernel |
| [in] | pQ | : Pointer to matrix Q[NRows*NRows] |
| [in] | pR | : Pointer to upper triangular matrix R[NRows*NCols] |
| [in] | pInvA | : Pointer to A inverse buffer matrix |
| [out] | pInvAScratch | : Pointer to the Scratch Buffer |
| [in] | pScratch | : Pointer to Scratch buffer |
Definition at line 1131 of file DSPLIB_qrd_inverse_ci.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_init_cn | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsQ, | ||
| DSPLIB_bufParams2D_t * | bufParamsR, | ||
| DSPLIB_bufParams2D_t * | bufParamsInvA, | ||
| DSPLIB_bufParams2D_t * | bufParamsInvAFinal, | ||
| const DSPLIB_qrdInvInitArgs * | 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_inverse_init.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsQ | : Pointer to the structure containing dimensional information of Q matrix |
| [in] | bufParamsR | : Pointer to the structure containing dimensional information of R matrix |
| [in] | bufParamsInvA | : Pointer to the structure containing dimensional information of A inverse buffer matrix |
| [out] | bufParamsInvAFinal | : Pointer to the structure containing dimensional information of final A inverse matrix. |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 44 of file DSPLIB_qrd_inverse_cn.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_exec_cn | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pQ, | ||
| void *restrict | pR, | ||
| void *restrict | pInvA, | ||
| void *restrict | pInvAScratch, | ||
| 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_inverse_exec.
| [in] | handle | : Active handle to the kernel |
| [in] | pQ | : Pointer to matrix Q[NRows*NRows] |
| [in] | pR | : Pointer to upper triangular matrix R[NRows*NCols] |
| [in] | pInvA | : Pointer to A inverse buffer matrix |
| [out] | pInvAScratch | : Pointer to the Scratch Buffer |
| [in] | pScratch | : Pointer to Scratch buffer |
Definition at line 75 of file DSPLIB_qrd_inverse_cn.cpp.