PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
\( C = \alpha A B + \beta C \) or \( C = \alpha B A + \beta C \) where \( A \) is symmetric More...
Functions | |
int | plasma_csymm (plasma_enum_t side, plasma_enum_t uplo, int m, int n, plasma_complex32_t alpha, plasma_complex32_t *pA, int lda, plasma_complex32_t *pB, int ldb, plasma_complex32_t beta, plasma_complex32_t *pC, int ldc) |
void | plasma_omp_csymm (plasma_enum_t side, plasma_enum_t uplo, plasma_complex32_t alpha, plasma_desc_t A, plasma_desc_t B, plasma_complex32_t beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_dsymm (plasma_enum_t side, plasma_enum_t uplo, int m, int n, double alpha, double *pA, int lda, double *pB, int ldb, double beta, double *pC, int ldc) |
void | plasma_omp_dsymm (plasma_enum_t side, plasma_enum_t uplo, double alpha, plasma_desc_t A, plasma_desc_t B, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_ssymm (plasma_enum_t side, plasma_enum_t uplo, int m, int n, float alpha, float *pA, int lda, float *pB, int ldb, float beta, float *pC, int ldc) |
void | plasma_omp_ssymm (plasma_enum_t side, plasma_enum_t uplo, float alpha, plasma_desc_t A, plasma_desc_t B, float beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_zsymm (plasma_enum_t side, plasma_enum_t uplo, int m, int n, plasma_complex64_t alpha, plasma_complex64_t *pA, int lda, plasma_complex64_t *pB, int ldb, plasma_complex64_t beta, plasma_complex64_t *pC, int ldc) |
void | plasma_omp_zsymm (plasma_enum_t side, plasma_enum_t uplo, plasma_complex64_t alpha, plasma_desc_t A, plasma_desc_t B, plasma_complex64_t beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request) |
\( C = \alpha A B + \beta C \) or \( C = \alpha B A + \beta C \) where \( A \) is symmetric
int plasma_csymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
int | m, | ||
int | n, | ||
plasma_complex32_t | alpha, | ||
plasma_complex32_t * | pA, | ||
int | lda, | ||
plasma_complex32_t * | pB, | ||
int | ldb, | ||
plasma_complex32_t | beta, | ||
plasma_complex32_t * | pC, | ||
int | ldc | ||
) |
Performs one of the matrix-matrix operations
\[ C = \alpha \times A \times B + \beta \times C \]
or
\[ C = \alpha \times B \times A + \beta \times C \]
where alpha and beta are scalars, A is a symmetric matrix and B and C are m-by-n matrices.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | m | The number of rows of the matrix C. m >= 0. |
[in] | n | The number of columns of the matrix C. n >= 0. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix, where ka is m when side = PlasmaLeft, and is n otherwise. Only the uplo triangular part is referenced. |
[in] | lda | The leading dimension of the array A. lda >= max(1,ka). |
[in] | pB | B is an ldb-by-n matrix, where the leading m-by-n part of the array B must contain the matrix B. |
[in] | ldb | The leading dimension of the array B. ldb >= max(1,m). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the array is overwritten by the m-by-n updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_csymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
plasma_complex32_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_desc_t | B, | ||
plasma_complex32_t | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs symmetric matrix multiplication. Non-blocking tile version of plasma_csymm(). May return before the computation is finished. Allows for pipelining of operations at runtime.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | B | Descriptor of matrix B. |
[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). |
[out] | request | Identifies this function call (for exception handling purposes). |
int plasma_dsymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
int | m, | ||
int | n, | ||
double | alpha, | ||
double * | pA, | ||
int | lda, | ||
double * | pB, | ||
int | ldb, | ||
double | beta, | ||
double * | pC, | ||
int | ldc | ||
) |
Performs one of the matrix-matrix operations
\[ C = \alpha \times A \times B + \beta \times C \]
or
\[ C = \alpha \times B \times A + \beta \times C \]
where alpha and beta are scalars, A is a symmetric matrix and B and C are m-by-n matrices.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | m | The number of rows of the matrix C. m >= 0. |
[in] | n | The number of columns of the matrix C. n >= 0. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix, where ka is m when side = PlasmaLeft, and is n otherwise. Only the uplo triangular part is referenced. |
[in] | lda | The leading dimension of the array A. lda >= max(1,ka). |
[in] | pB | B is an ldb-by-n matrix, where the leading m-by-n part of the array B must contain the matrix B. |
[in] | ldb | The leading dimension of the array B. ldb >= max(1,m). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the array is overwritten by the m-by-n updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_dsymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
double | alpha, | ||
plasma_desc_t | A, | ||
plasma_desc_t | B, | ||
double | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs symmetric matrix multiplication. Non-blocking tile version of plasma_dsymm(). May return before the computation is finished. Allows for pipelining of operations at runtime.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | B | Descriptor of matrix B. |
[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). |
[out] | request | Identifies this function call (for exception handling purposes). |
int plasma_ssymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
int | m, | ||
int | n, | ||
float | alpha, | ||
float * | pA, | ||
int | lda, | ||
float * | pB, | ||
int | ldb, | ||
float | beta, | ||
float * | pC, | ||
int | ldc | ||
) |
Performs one of the matrix-matrix operations
\[ C = \alpha \times A \times B + \beta \times C \]
or
\[ C = \alpha \times B \times A + \beta \times C \]
where alpha and beta are scalars, A is a symmetric matrix and B and C are m-by-n matrices.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | m | The number of rows of the matrix C. m >= 0. |
[in] | n | The number of columns of the matrix C. n >= 0. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix, where ka is m when side = PlasmaLeft, and is n otherwise. Only the uplo triangular part is referenced. |
[in] | lda | The leading dimension of the array A. lda >= max(1,ka). |
[in] | pB | B is an ldb-by-n matrix, where the leading m-by-n part of the array B must contain the matrix B. |
[in] | ldb | The leading dimension of the array B. ldb >= max(1,m). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the array is overwritten by the m-by-n updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_ssymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
float | alpha, | ||
plasma_desc_t | A, | ||
plasma_desc_t | B, | ||
float | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs symmetric matrix multiplication. Non-blocking tile version of plasma_ssymm(). May return before the computation is finished. Allows for pipelining of operations at runtime.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | B | Descriptor of matrix B. |
[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). |
[out] | request | Identifies this function call (for exception handling purposes). |
int plasma_zsymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
int | m, | ||
int | n, | ||
plasma_complex64_t | alpha, | ||
plasma_complex64_t * | pA, | ||
int | lda, | ||
plasma_complex64_t * | pB, | ||
int | ldb, | ||
plasma_complex64_t | beta, | ||
plasma_complex64_t * | pC, | ||
int | ldc | ||
) |
Performs one of the matrix-matrix operations
\[ C = \alpha \times A \times B + \beta \times C \]
or
\[ C = \alpha \times B \times A + \beta \times C \]
where alpha and beta are scalars, A is a symmetric matrix and B and C are m-by-n matrices.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | m | The number of rows of the matrix C. m >= 0. |
[in] | n | The number of columns of the matrix C. n >= 0. |
[in] | alpha | The scalar alpha. |
[in] | pA | A is an lda-by-ka matrix, where ka is m when side = PlasmaLeft, and is n otherwise. Only the uplo triangular part is referenced. |
[in] | lda | The leading dimension of the array A. lda >= max(1,ka). |
[in] | pB | B is an ldb-by-n matrix, where the leading m-by-n part of the array B must contain the matrix B. |
[in] | ldb | The leading dimension of the array B. ldb >= max(1,m). |
[in] | beta | The scalar beta. |
[in,out] | pC | C is an ldc-by-n matrix. On exit, the array is overwritten by the m-by-n updated matrix. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_zsymm | ( | plasma_enum_t | side, |
plasma_enum_t | uplo, | ||
plasma_complex64_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_desc_t | B, | ||
plasma_complex64_t | beta, | ||
plasma_desc_t | C, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs symmetric matrix multiplication. Non-blocking tile version of plasma_zsymm(). May return before the computation is finished. Allows for pipelining of operations at runtime.
[in] | side | Specifies whether the symmetric matrix A appears on the left or right in the operation as follows:
|
[in] | uplo | Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows:
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | B | Descriptor of matrix B. |
[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). |
[out] | request | Identifies this function call (for exception handling purposes). |