PLASMA
Parallel Linear Algebra Software for Multicore Architectures

Functions

int plasma_cgeqrf (int m, int n, plasma_complex32_t *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_cgeqrf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_dgeqrf (int m, int n, double *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_dgeqrf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_sgeqrf (int m, int n, float *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_sgeqrf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_zgeqrf (int m, int n, plasma_complex64_t *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_zgeqrf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

Function Documentation

int plasma_cgeqrf ( int  m,
int  n,
plasma_complex32_t *  pA,
int  lda,
plasma_desc_t T 
)

Computes a tile QR factorization of a real or complex m-by-n matrix A. The factorization has the form

\[ A = Q \times R \]

, where Q is a matrix with orthonormal columns and R is an upper triangular with positive diagonal.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal represent the unitary matrix Q as a product of elementary reflectors stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_cgeqrs to solve the system of equations. Matrix in T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_cgeqrf
plasma_cgeqrf
plasma_dgeqrf
plasma_sgeqrf
plasma_cgeqrs
plasma_cgels
void plasma_omp_cgeqrf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a tile QR factorization of a matrix. Non-blocking tile version of plasma_cgeqrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_cgeqrs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For QR factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_cgeqrf
plasma_omp_cgeqrf
plasma_omp_dgeqrf
plasma_omp_sgeqrf
plasma_omp_cgeqrs
plasma_omp_cgeqrs
plasma_omp_cgels
int plasma_dgeqrf ( int  m,
int  n,
double *  pA,
int  lda,
plasma_desc_t T 
)

Computes a tile QR factorization of a real or complex m-by-n matrix A. The factorization has the form

\[ A = Q \times R \]

, where Q is a matrix with orthonormal columns and R is an upper triangular with positive diagonal.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal represent the orthogonal matrix Q as a product of elementary reflectors stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_dgeqrs to solve the system of equations. Matrix in T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_dgeqrf
plasma_cgeqrf
plasma_dgeqrf
plasma_sgeqrf
plasma_dgeqrs
plasma_dgels
void plasma_omp_dgeqrf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a tile QR factorization of a matrix. Non-blocking tile version of plasma_dgeqrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_dgeqrs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For QR factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_dgeqrf
plasma_omp_cgeqrf
plasma_omp_dgeqrf
plasma_omp_sgeqrf
plasma_omp_dgeqrs
plasma_omp_dgeqrs
plasma_omp_dgels
int plasma_sgeqrf ( int  m,
int  n,
float *  pA,
int  lda,
plasma_desc_t T 
)

Computes a tile QR factorization of a real or complex m-by-n matrix A. The factorization has the form

\[ A = Q \times R \]

, where Q is a matrix with orthonormal columns and R is an upper triangular with positive diagonal.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal represent the orthogonal matrix Q as a product of elementary reflectors stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_sgeqrs to solve the system of equations. Matrix in T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_sgeqrf
plasma_cgeqrf
plasma_dgeqrf
plasma_sgeqrf
plasma_sgeqrs
plasma_sgels
void plasma_omp_sgeqrf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a tile QR factorization of a matrix. Non-blocking tile version of plasma_sgeqrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_sgeqrs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For QR factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_sgeqrf
plasma_omp_cgeqrf
plasma_omp_dgeqrf
plasma_omp_sgeqrf
plasma_omp_sgeqrs
plasma_omp_sgeqrs
plasma_omp_sgels
int plasma_zgeqrf ( int  m,
int  n,
plasma_complex64_t *  pA,
int  lda,
plasma_desc_t T 
)

Computes a tile QR factorization of a real or complex m-by-n matrix A. The factorization has the form

\[ A = Q \times R \]

, where Q is a matrix with orthonormal columns and R is an upper triangular with positive diagonal.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal represent the unitary matrix Q as a product of elementary reflectors stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_zgeqrs to solve the system of equations. Matrix in T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_zgeqrf
plasma_cgeqrf
plasma_dgeqrf
plasma_sgeqrf
plasma_zgeqrs
plasma_zgels
void plasma_omp_zgeqrf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a tile QR factorization of a matrix. Non-blocking tile version of plasma_zgeqrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_zgeqrs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For QR factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_zgeqrf
plasma_omp_cgeqrf
plasma_omp_dgeqrf
plasma_omp_sgeqrf
plasma_omp_zgeqrs
plasma_omp_zgeqrs
plasma_omp_zgels