79 const void *restrict pA,
80 const void *restrict pU,
81 const void *restrict pV,
82 const void *restrict pDiag,
83 const void *restrict pSuperDiag,
84 const void *restrict pU1,
85 const void *restrict pV1,
86 const void *restrict pScratch)
92 if ((pA == NULL) || (pU == NULL) || (pV == NULL) || (pDiag == NULL) || (pSuperDiag == NULL) || (pU1 == NULL) ||
93 (pV1 == NULL) || (pScratch == NULL)) {
132 status =
DSPLIB_svd_init_cn(handle, bufParamsA, bufParamsU, bufParamsV, bufParamsDiag, bufParamsSuperDiag,
137 status =
DSPLIB_svd_init_cn(handle, bufParamsA, bufParamsU, bufParamsV, bufParamsDiag, bufParamsSuperDiag,
148 bufParamsSuperDiag, pKerInitArgs);
153 bufParamsSuperDiag, pKerInitArgs);
168 void *restrict pDiag,
169 void *restrict pSuperDiag,
172 void *restrict pScratch)
183 status = pKerPrivArgs->
execute(handle, pA, pU, pV, pDiag, pSuperDiag, pU1, pV1, pScratch);
template DSPLIB_STATUS DSPLIB_svd_exec_ci< double >(DSPLIB_kernelHandle handle, void *restrict pA, void *restrict pU, void *restrict pV, void *restrict pDiag, void *restrict pSuperDiag, void *restrict pU1, void *restrict pV1, void *restrict pScratch)
template DSPLIB_STATUS DSPLIB_svd_init_ci< float >(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsV, const DSPLIB_bufParams1D_t *bufParamsDiag, const DSPLIB_bufParams1D_t *bufParamsSuperDiag, const DSPLIB_svdInitArgs *pKerInitArgs)
template DSPLIB_STATUS DSPLIB_svd_exec_ci< float >(DSPLIB_kernelHandle handle, void *restrict pA, void *restrict pU, void *restrict pV, void *restrict pDiag, void *restrict pSuperDiag, void *restrict pU1, void *restrict pV1, void *restrict pScratch)
template DSPLIB_STATUS DSPLIB_svd_init_ci< double >(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsV, const DSPLIB_bufParams1D_t *bufParamsDiag, const DSPLIB_bufParams1D_t *bufParamsSuperDiag, const DSPLIB_svdInitArgs *pKerInitArgs)
DSPLIB_STATUS DSPLIB_svd_init_cn(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsV, const DSPLIB_bufParams1D_t *bufParamsDiag, const DSPLIB_bufParams1D_t *bufParamsSuperDiag, const DSPLIB_svdInitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
template DSPLIB_STATUS DSPLIB_svd_exec_cn< double >(DSPLIB_kernelHandle handle, void *restrict pA, void *restrict pU, void *restrict pV, void *restrict pDiag, void *restrict pSuperDiag, void *restrict pU1, void *restrict pV1, void *restrict pScratch)
template DSPLIB_STATUS DSPLIB_svd_exec_cn< float >(DSPLIB_kernelHandle handle, void *restrict pA, void *restrict pU, void *restrict pV, void *restrict pDiag, void *restrict pSuperDiag, void *restrict pU1, void *restrict pV1, void *restrict pScratch)
Header file for kernel's internal use. For the kernel's interface, please see DSPLIB_svd.
#define DSPLIB_DEBUGPRINTFN(N, fmt,...)
DSPLIB_STATUS_NAME
The enumeration of all status codes.
void * DSPLIB_kernelHandle
Handle type for DSPLIB operations.
@ DSPLIB_ERR_NULL_POINTER
@ DSPLIB_ERR_INVALID_TYPE
DSPLIB_STATUS DSPLIB_svd_exec(DSPLIB_kernelHandle handle, void *restrict pA, void *restrict pU, void *restrict pV, void *restrict pDiag, void *restrict pSuperDiag, void *restrict pU1, void *restrict pV1, void *restrict pScratch)
This function is the main kernel compute function.
DSPLIB_STATUS DSPLIB_svd_exec_checkParams(DSPLIB_kernelHandle handle, const void *restrict pA, const void *restrict pU, const void *restrict pV, const void *restrict pDiag, const void *restrict pSuperDiag, const void *restrict pU1, const void *restrict pV1, const void *restrict pScratch)
This function checks the validity of the parameters passed to DSPLIB_svd_exec function....
DSPLIB_STATUS DSPLIB_svd_init_checkParams(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsA, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsV, const DSPLIB_bufParams1D_t *bufParamsDiag, const DSPLIB_bufParams1D_t *bufParamsSuperDiag, const DSPLIB_svdInitArgs *pKerInitArgs)
This function checks the validity of the parameters passed to DSPLIB_svd_init function....
int32_t DSPLIB_svd_getHandleSize(DSPLIB_svdInitArgs *pKerInitArgs)
This is a query function to calculate the size of internal handle.
DSPLIB_STATUS DSPLIB_svd_init(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsA, const DSPLIB_bufParams2D_t *bufParamsU, const DSPLIB_bufParams2D_t *bufParamsV, const DSPLIB_bufParams1D_t *bufParamsDiag, const DSPLIB_bufParams1D_t *bufParamsSuperDiag, const DSPLIB_svdInitArgs *pKerInitArgs)
This function should be called before the DSPLIB_svd_exec function is called. This function takes car...
A structure for a 1 dimensional buffer descriptor.
uint32_t data_type
Values are of type DSPLIB_data_type_e.
A structure for a 2 dimensional buffer descriptor.
uint32_t data_type
Values are of type DSPLIB_data_type_e.
int32_t stride_y
Stride in Y dimension in bytes.
uint32_t dim_x
Width of buffer in X dimension in elements.
uint32_t dim_y
Height of buffer in Y dimension in elements.
Structure containing the parameters to initialize the kernel.
uint32_t enableReducedForm
Flag to activate reduced form calculation | 1 => REDUCED FORM | 0 => NON-REDUCED FORM.
uint32_t strideVRows
Stride value for V matrix in the transposed form.
uint32_t strideURows
Stride value for U matrix in the transposed form.
int8_t funcStyle
Variant of the function refer to DSPLIB_FUNCTION_STYLE
Structure that is reserved for internal use by the kernel.
uint32_t widthIn
Size of input buffer for different batches DSPLIB_svd_init that will be retrieved and used by DSPLIB_...
uint32_t strideU
Stride between rows of U matrix
uint32_t enableReducedForm
Flag for enabling the calculation of reduced form enableReducedForm = 1 for reduced form SVD calc ena...
pFxnDSPLIB_svd_exec execute
Function pointer to point to the right execution variant between DSPLIB_svd_exec_cn and DSPLIB_svd_ex...
int32_t strideIn
Stride between rows of input data matrix
uint32_t strideV
Stride between rows of V matrix
uint32_t heightIn
Height of input data matrix