![]() |
DSPLIB User Guide
|
Kernel for QR decomposition of input matrix.
\begin{eqnarray*} A = Q \times R \qquad where\;&(1)&\;Q\;is\;an\;orthogonal\;matrix\;(i.e. Q^{T}Q=I)\\ &(2)&\;R\;is\;upper\;triangular\;matrix. \end{eqnarray*}
Data Structures | |
| struct | DSPLIB_qrdInitArgs |
| Structure containing the parameters to initialize the kernel. More... | |
Functions | |
| int32_t | DSPLIB_qrd_getHandleSize (DSPLIB_qrdInitArgs *pKerInitArgs) |
| This is a query function to calculate the size of internal handle. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_init (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 should be called before the DSPLIB_qrd_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_init_checkParams (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 checks the validity of the parameters passed to DSPLIB_qrd_init function. This function is called with the same parameters as the DSPLIB_qrd_init, and this function must be called before the DSPLIB_qrd_init is called. More... | |
| DSPLIB_STATUS | DSPLIB_qrd_exec_checkParams (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 checks the validity of the parameters passed to DSPLIB_qrd_exec function. This function is called with the same parameters as the DSPLIB_qrd_exec, and this function must be called before the DSPLIB_qrd_exec is called. More... | |
| DSPLIB_STATUS | DSPLIB_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 function is the main kernel compute function. More... | |
| int32_t DSPLIB_qrd_getHandleSize | ( | DSPLIB_qrdInitArgs * | 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.cpp.
| DSPLIB_STATUS DSPLIB_qrd_init | ( | 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 should be called before the DSPLIB_qrd_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] | bufParamsA | : Pointer to the structure containing dimensional information of input matrix A |
| [out] | bufParamsQ | : Pointer to the structure containing dimensional information of output matrix Q |
| [out] | bufParamsR | : Pointer to the structure containing dimensional information of output matrix R |
| [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 92 of file DSPLIB_qrd.cpp.
| DSPLIB_STATUS DSPLIB_qrd_init_checkParams | ( | 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 checks the validity of the parameters passed to DSPLIB_qrd_init function. This function is called with the same parameters as the DSPLIB_qrd_init, and this function must be called before the DSPLIB_qrd_init is called.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsA | : Pointer to the structure containing dimensional information of input matrix A |
| [out] | bufParamsQ | : Pointer to the structure containing dimensional information of output matrix Q |
| [out] | bufParamsR | : Pointer to the structure containing dimensional information of output matrix R |
| [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 34 of file DSPLIB_qrd.cpp.
| DSPLIB_STATUS DSPLIB_qrd_exec_checkParams | ( | 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 checks the validity of the parameters passed to DSPLIB_qrd_exec function. This function is called with the same parameters as the DSPLIB_qrd_exec, and this function must be called before the DSPLIB_qrd_exec is called.
| [in] | handle | : Active handle to the kernel |
| [in] | pA | : Pointer to the input matrix A |
| [out] | pQ | : Pointer to the output matrix Q |
| [out] | pR | : Pointer to the output matrix R |
| [in] | pU | : Pointer to the temporary vector U |
| [in] | pScratch | : Pointer to the intermediate scratch buffer Scratch |
Definition at line 70 of file DSPLIB_qrd.cpp.
| DSPLIB_STATUS DSPLIB_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 function is the main kernel compute function.
Please refer to details under DSPLIB_qrd_exec
| [in] | handle | : Active handle to the kernel |
| [in] | pA | : Pointer to the input matrix A |
| [out] | pQ | : Pointer to the output matrix Q |
| [out] | pR | : Pointer to the output matrix R |
| [in] | pU | : Pointer to the temporary vector U |
| [in] | pScratch | : Pointer to the intermediate scratch buffer Scratch |
| Buffer | dimY | dimX | Comments |
|---|---|---|---|
| pA | M | M | Input Square Matrix |
| pQ | M | M | Output Square Matrix |
| pR | M | M | Output Square Matrix |
| pU | 1 | M | Scrath buffer to store intermediate values |
| pScratch | 1 | M | Scratch buffer to store intermediate sum values |
Definition at line 144 of file DSPLIB_qrd.cpp.