PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
\( C = \alpha A A^T + \beta C \) where \( C \) is symmetric More...
Functions | |
int | plasma_csyrk (plasma_enum_t uplo, plasma_enum_t trans, int n, int k, plasma_complex32_t alpha, plasma_complex32_t *pA, int lda, plasma_complex32_t beta, plasma_complex32_t *pC, int ldc) |
void | plasma_omp_csyrk (plasma_enum_t uplo, plasma_enum_t trans, plasma_complex32_t alpha, plasma_desc_t A, plasma_complex32_t beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_dsyrk (plasma_enum_t uplo, plasma_enum_t trans, int n, int k, double alpha, double *pA, int lda, double beta, double *pC, int ldc) |
void | plasma_omp_dsyrk (plasma_enum_t uplo, plasma_enum_t trans, double alpha, plasma_desc_t A, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_ssyrk (plasma_enum_t uplo, plasma_enum_t trans, int n, int k, float alpha, float *pA, int lda, float beta, float *pC, int ldc) |
void | plasma_omp_ssyrk (plasma_enum_t uplo, plasma_enum_t trans, float alpha, plasma_desc_t A, float beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_zsyrk (plasma_enum_t uplo, plasma_enum_t trans, int n, int k, plasma_complex64_t alpha, plasma_complex64_t *pA, int lda, plasma_complex64_t beta, plasma_complex64_t *pC, int ldc) |
void | plasma_omp_zsyrk (plasma_enum_t uplo, plasma_enum_t trans, plasma_complex64_t alpha, plasma_desc_t A, plasma_complex64_t beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
\( C = \alpha A A^T + \beta C \) where \( C \) is symmetric
int plasma_csyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
int | n, | ||
int | k, | ||
plasma_complex32_t | alpha, | ||
plasma_complex32_t * | pA, | ||
int | lda, | ||
plasma_complex32_t | beta, | ||
plasma_complex32_t * | pC, | ||
int | ldc | ||
) |
Performs one of the symmetric rank k operations
\[ C = \alpha A \times A^T + \beta C, \]
or
\[ C = \alpha A^T \times A + \beta C, \]
where alpha and beta are scalars, C is an n-by-n symmetric matrix, and A is an n-by-k matrix in the first case and a k-by-n matrix in the second case.
[in] | uplo |
|
[in] | trans |
|
[in] | n | The order of the matrix C. n >= 0. |
[in] | k | If trans = PlasmaNoTrans, number of columns of the A matrix; if trans = PlasmaTrans, number of rows of the A matrix. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix. If trans = PlasmaNoTrans, ka = k; if trans = PlasmaTrans, ka = n. |
[in] | lda | The leading dimension of the array A. If trans = PlasmaNoTrans, lda >= max(1, n); if trans = PlasmaTrans, lda >= max(1, k). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the uplo part of the matrix is overwritten by the uplo part of the updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1, n). |
PlasmaSuccess | successful exit |
void plasma_omp_csyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
plasma_complex32_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_complex32_t | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs rank k update. Non-blocking tile version of plasma_csyrk(). 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.
[in] | uplo |
|
[in] | trans |
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | C | Descriptor of matrix C. |
[in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors. |
[out] | request | Identifies this function call (for exception handling purposes). |
void | Errors 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. |
int plasma_dsyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
int | n, | ||
int | k, | ||
double | alpha, | ||
double * | pA, | ||
int | lda, | ||
double | beta, | ||
double * | pC, | ||
int | ldc | ||
) |
Performs one of the symmetric rank k operations
\[ C = \alpha A \times A^T + \beta C, \]
or
\[ C = \alpha A^T \times A + \beta C, \]
where alpha and beta are scalars, C is an n-by-n symmetric matrix, and A is an n-by-k matrix in the first case and a k-by-n matrix in the second case.
[in] | uplo |
|
[in] | trans |
|
[in] | n | The order of the matrix C. n >= 0. |
[in] | k | If trans = PlasmaNoTrans, number of columns of the A matrix; if trans = PlasmaTrans, number of rows of the A matrix. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix. If trans = PlasmaNoTrans, ka = k; if trans = PlasmaTrans, ka = n. |
[in] | lda | The leading dimension of the array A. If trans = PlasmaNoTrans, lda >= max(1, n); if trans = PlasmaTrans, lda >= max(1, k). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the uplo part of the matrix is overwritten by the uplo part of the updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1, n). |
PlasmaSuccess | successful exit |
void plasma_omp_dsyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
double | alpha, | ||
plasma_desc_t | A, | ||
double | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs rank k update. Non-blocking tile version of plasma_dsyrk(). 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.
[in] | uplo |
|
[in] | trans |
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | C | Descriptor of matrix C. |
[in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors. |
[out] | request | Identifies this function call (for exception handling purposes). |
void | Errors 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. |
int plasma_ssyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
int | n, | ||
int | k, | ||
float | alpha, | ||
float * | pA, | ||
int | lda, | ||
float | beta, | ||
float * | pC, | ||
int | ldc | ||
) |
Performs one of the symmetric rank k operations
\[ C = \alpha A \times A^T + \beta C, \]
or
\[ C = \alpha A^T \times A + \beta C, \]
where alpha and beta are scalars, C is an n-by-n symmetric matrix, and A is an n-by-k matrix in the first case and a k-by-n matrix in the second case.
[in] | uplo |
|
[in] | trans |
|
[in] | n | The order of the matrix C. n >= 0. |
[in] | k | If trans = PlasmaNoTrans, number of columns of the A matrix; if trans = PlasmaTrans, number of rows of the A matrix. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix. If trans = PlasmaNoTrans, ka = k; if trans = PlasmaTrans, ka = n. |
[in] | lda | The leading dimension of the array A. If trans = PlasmaNoTrans, lda >= max(1, n); if trans = PlasmaTrans, lda >= max(1, k). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the uplo part of the matrix is overwritten by the uplo part of the updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1, n). |
PlasmaSuccess | successful exit |
void plasma_omp_ssyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
float | alpha, | ||
plasma_desc_t | A, | ||
float | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs rank k update. Non-blocking tile version of plasma_ssyrk(). 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.
[in] | uplo |
|
[in] | trans |
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | C | Descriptor of matrix C. |
[in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors. |
[out] | request | Identifies this function call (for exception handling purposes). |
void | Errors 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. |
int plasma_zsyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
int | n, | ||
int | k, | ||
plasma_complex64_t | alpha, | ||
plasma_complex64_t * | pA, | ||
int | lda, | ||
plasma_complex64_t | beta, | ||
plasma_complex64_t * | pC, | ||
int | ldc | ||
) |
Performs one of the symmetric rank k operations
\[ C = \alpha A \times A^T + \beta C, \]
or
\[ C = \alpha A^T \times A + \beta C, \]
where alpha and beta are scalars, C is an n-by-n symmetric matrix, and A is an n-by-k matrix in the first case and a k-by-n matrix in the second case.
[in] | uplo |
|
[in] | trans |
|
[in] | n | The order of the matrix C. n >= 0. |
[in] | k | If trans = PlasmaNoTrans, number of columns of the A matrix; if trans = PlasmaTrans, number of rows of the A matrix. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix. If trans = PlasmaNoTrans, ka = k; if trans = PlasmaTrans, ka = n. |
[in] | lda | The leading dimension of the array A. If trans = PlasmaNoTrans, lda >= max(1, n); if trans = PlasmaTrans, lda >= max(1, k). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the uplo part of the matrix is overwritten by the uplo part of the updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1, n). |
PlasmaSuccess | successful exit |
void plasma_omp_zsyrk | ( | plasma_enum_t | uplo, |
plasma_enum_t | trans, | ||
plasma_complex64_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_complex64_t | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs rank k update. Non-blocking tile version of plasma_zsyrk(). 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.
[in] | uplo |
|
[in] | trans |
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | C | Descriptor of matrix C. |
[in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors. |
[out] | request | Identifies this function call (for exception handling purposes). |
void | Errors 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. |