![]() |
DSPLIB User Guide
|
Kernel for find the inverse of a matrix from Q and R matrices.
\begin{eqnarray*} A^{-1} = R^{-1} \times Q^{T} \end{eqnarray*}
Data Structures | |
| struct | DSPLIB_qrdInvInitArgs |
| Structure containing the parameters to initialize the kernel. More... | |
Functions | |
| int32_t | DSPLIB_qrd_inverse_getHandleSize (DSPLIB_qrdInvInitArgs *pKerInitArgs) |
| This is a query function to calculate the size of internal handle. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_init (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 should be called before the DSPLIB_qrd_inverse_exec function is called. This function takes care of any one-time operations such as setting up the configuration of required hardware resources such as the streaming engine and streaming address generator. The results of these operations are stored in the handle. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_init_checkParams (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 checks the validity of the parameters passed to DSPLIB_qrd_inverse_init function. This function is called with the same parameters as the DSPLIB_qrd_inverse_init, and this function must be called before the DSPLIB_qrd_inverse_init is called. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_exec_checkParams (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch) |
| This function checks the validity of the parameters passed to DSPLIB_qrd_inverse_exec function. This function is called with the same parameters as the DSPLIB_qrd_inverse_exec, and this function must be called before the DSPLIB_qrd_inverse_exec is called. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_inverse_exec (DSPLIB_kernelHandle handle, void *restrict pQ, void *restrict pR, void *restrict pInvA, void *restrict pInvAScratch, void *restrict pScratch) |
| This function is the main kernel compute function. More... | |
| int32_t DSPLIB_qrd_inverse_getHandleSize | ( | DSPLIB_qrdInvInitArgs * | pKerInitArgs | ) |
This is a query function to calculate the size of internal handle.
| [in] | pKerInitArgs | : Pointer to structure holding init parameters |
Definition at line 25 of file DSPLIB_qrd_inverse.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_init | ( | 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 should be called before the DSPLIB_qrd_inverse_exec function is called. This function takes care of any one-time operations such as setting up the configuration of required hardware resources such as the streaming engine and streaming address generator. The results of these operations are stored in the handle.
| [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 |
| [out] | 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 allocated from MSMC memory for C7100 and C7120 |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 100 of file DSPLIB_qrd_inverse.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_init_checkParams | ( | 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 checks the validity of the parameters passed to DSPLIB_qrd_inverse_init function. This function is called with the same parameters as the DSPLIB_qrd_inverse_init, and this function must be called before the DSPLIB_qrd_inverse_init is called.
| [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 |
| [out] | 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 allocated from MSMC memory for C7100 and C7120 |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 34 of file DSPLIB_qrd_inverse.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_exec_checkParams | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pQ, | ||
| void *restrict | pR, | ||
| void *restrict | pInvA, | ||
| void *restrict | pInvAScratch, | ||
| void *restrict | pScratch | ||
| ) |
This function checks the validity of the parameters passed to DSPLIB_qrd_inverse_exec function. This function is called with the same parameters as the DSPLIB_qrd_inverse_exec, and this function must be called before the DSPLIB_qrd_inverse_exec is called.
| [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 Scratch buffer |
| [in] | pScratch | : Pointer to Scratch buffer |
Definition at line 78 of file DSPLIB_qrd_inverse.cpp.
| DSPLIB_STATUS DSPLIB_qrd_inverse_exec | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pQ, | ||
| void *restrict | pR, | ||
| void *restrict | pInvA, | ||
| void *restrict | pInvAScratch, | ||
| void *restrict | pScratch | ||
| ) |
This function is the main kernel compute function.
Please refer to details under DSPLIB_qrd_inverse_exec
| [in] | handle | : Active handle to the kernel |
| [in] | pQ | : Pointer to matrix Q |
| [in] | pR | : Pointer to upper triangular matrix R |
| [in] | pInvA | : Pointer to A inverse buffer matrix |
| [out] | pInvAScratch | : Pointer to Scratch buffer |
| [in] | pScratch | : Pointer to Scratch buffer |
| Buffer | dimY | dimX | Comments |
|---|---|---|---|
| pQ | M | M | Input Square Matrix |
| pR | M | M | Input Square Matrix |
| pInvA | M | M | Output Square Matrix |
| pInvAScratch | M | M | Scratch buffer to store intermediate matrix operations |
| pScratch | 1 | M | Scratch buffer to store inverse factor |
Definition at line 157 of file DSPLIB_qrd_inverse.cpp.