PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
\( B = \alpha A + \beta B \) More...
Functions | |
int | plasma_cgeadd (plasma_enum_t transa, int m, int n, plasma_complex32_t alpha, plasma_complex32_t *pA, int lda, plasma_complex32_t beta, plasma_complex32_t *pB, int ldb) |
void | plasma_omp_cgeadd (plasma_enum_t transa, plasma_complex32_t alpha, plasma_desc_t A, plasma_complex32_t beta, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_dgeadd (plasma_enum_t transa, int m, int n, double alpha, double *pA, int lda, double beta, double *pB, int ldb) |
void | plasma_omp_dgeadd (plasma_enum_t transa, double alpha, plasma_desc_t A, double beta, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_sgeadd (plasma_enum_t transa, int m, int n, float alpha, float *pA, int lda, float beta, float *pB, int ldb) |
void | plasma_omp_sgeadd (plasma_enum_t transa, float alpha, plasma_desc_t A, float beta, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request) |
int | plasma_zgeadd (plasma_enum_t transa, int m, int n, plasma_complex64_t alpha, plasma_complex64_t *pA, int lda, plasma_complex64_t beta, plasma_complex64_t *pB, int ldb) |
void | plasma_omp_zgeadd (plasma_enum_t transa, plasma_complex64_t alpha, plasma_desc_t A, plasma_complex64_t beta, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request) |
\( B = \alpha A + \beta B \)
int plasma_cgeadd | ( | plasma_enum_t | transa, |
int | m, | ||
int | n, | ||
plasma_complex32_t | alpha, | ||
plasma_complex32_t * | pA, | ||
int | lda, | ||
plasma_complex32_t | beta, | ||
plasma_complex32_t * | pB, | ||
int | ldb | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pctradd()' function from the PBLAS library:
\[ B = \alpha * op( A ) + \beta * B, \]
where op( X ) is one of:
\[ op( X ) = X, \]
\[ op( X ) = X^T, \]
\[ op( X ) = X^H, \]
alpha and beta are scalars and A, B are matrices with op( A ) an m-by-n or n-by-m matrix depending on the value of transa and B an m-by-n matrix.
[in] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | m | Number of rows of the matrices op( A ) and B. m >= 0. |
[in] | n | Number of columns of the matrices op( A ) and B. n >= 0. |
[in] | alpha | Scalar factor of A. |
[in] | pA | Matrix of size lda-by-k, where k is n when transa == PlasmaNoTrans and m otherwise. |
[in] | lda | Leading dimension of the array A. lda >= max(1,l), where l is m when transa = PlasmaNoTrans and n otherwise. |
[in] | beta | Scalar factor of B. |
[in,out] | pB | Matrix of size ldb-by-n. On exit, B = alpha * op( A ) + beta * B |
[in] | ldb | Leading dimension of the array B. ldb >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_cgeadd | ( | plasma_enum_t | transa, |
plasma_complex32_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_complex32_t | beta, | ||
plasma_desc_t | B, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pctradd()' function from the PBLAS library. Non-blocking tile version of plasma_cgeadd(). 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] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | B | Descriptor of matrix B. |
[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_dgeadd | ( | plasma_enum_t | transa, |
int | m, | ||
int | n, | ||
double | alpha, | ||
double * | pA, | ||
int | lda, | ||
double | beta, | ||
double * | pB, | ||
int | ldb | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pdtradd()' function from the PBLAS library:
\[ B = \alpha * op( A ) + \beta * B, \]
where op( X ) is one of:
\[ op( X ) = X, \]
\[ op( X ) = X^T, \]
\[ op( X ) = X^T, \]
alpha and beta are scalars and A, B are matrices with op( A ) an m-by-n or n-by-m matrix depending on the value of transa and B an m-by-n matrix.
[in] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | m | Number of rows of the matrices op( A ) and B. m >= 0. |
[in] | n | Number of columns of the matrices op( A ) and B. n >= 0. |
[in] | alpha | Scalar factor of A. |
[in] | pA | Matrix of size lda-by-k, where k is n when transa == PlasmaNoTrans and m otherwise. |
[in] | lda | Leading dimension of the array A. lda >= max(1,l), where l is m when transa = PlasmaNoTrans and n otherwise. |
[in] | beta | Scalar factor of B. |
[in,out] | pB | Matrix of size ldb-by-n. On exit, B = alpha * op( A ) + beta * B |
[in] | ldb | Leading dimension of the array B. ldb >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_dgeadd | ( | plasma_enum_t | transa, |
double | alpha, | ||
plasma_desc_t | A, | ||
double | beta, | ||
plasma_desc_t | B, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pdtradd()' function from the PBLAS library. Non-blocking tile version of plasma_dgeadd(). 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] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | B | Descriptor of matrix B. |
[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_sgeadd | ( | plasma_enum_t | transa, |
int | m, | ||
int | n, | ||
float | alpha, | ||
float * | pA, | ||
int | lda, | ||
float | beta, | ||
float * | pB, | ||
int | ldb | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pstradd()' function from the PBLAS library:
\[ B = \alpha * op( A ) + \beta * B, \]
where op( X ) is one of:
\[ op( X ) = X, \]
\[ op( X ) = X^T, \]
\[ op( X ) = X^T, \]
alpha and beta are scalars and A, B are matrices with op( A ) an m-by-n or n-by-m matrix depending on the value of transa and B an m-by-n matrix.
[in] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | m | Number of rows of the matrices op( A ) and B. m >= 0. |
[in] | n | Number of columns of the matrices op( A ) and B. n >= 0. |
[in] | alpha | Scalar factor of A. |
[in] | pA | Matrix of size lda-by-k, where k is n when transa == PlasmaNoTrans and m otherwise. |
[in] | lda | Leading dimension of the array A. lda >= max(1,l), where l is m when transa = PlasmaNoTrans and n otherwise. |
[in] | beta | Scalar factor of B. |
[in,out] | pB | Matrix of size ldb-by-n. On exit, B = alpha * op( A ) + beta * B |
[in] | ldb | Leading dimension of the array B. ldb >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_sgeadd | ( | plasma_enum_t | transa, |
float | alpha, | ||
plasma_desc_t | A, | ||
float | beta, | ||
plasma_desc_t | B, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pstradd()' function from the PBLAS library. Non-blocking tile version of plasma_sgeadd(). 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] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | B | Descriptor of matrix B. |
[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_zgeadd | ( | plasma_enum_t | transa, |
int | m, | ||
int | n, | ||
plasma_complex64_t | alpha, | ||
plasma_complex64_t * | pA, | ||
int | lda, | ||
plasma_complex64_t | beta, | ||
plasma_complex64_t * | pB, | ||
int | ldb | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pztradd()' function from the PBLAS library:
\[ B = \alpha * op( A ) + \beta * B, \]
where op( X ) is one of:
\[ op( X ) = X, \]
\[ op( X ) = X^T, \]
\[ op( X ) = X^H, \]
alpha and beta are scalars and A, B are matrices with op( A ) an m-by-n or n-by-m matrix depending on the value of transa and B an m-by-n matrix.
[in] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | m | Number of rows of the matrices op( A ) and B. m >= 0. |
[in] | n | Number of columns of the matrices op( A ) and B. n >= 0. |
[in] | alpha | Scalar factor of A. |
[in] | pA | Matrix of size lda-by-k, where k is n when transa == PlasmaNoTrans and m otherwise. |
[in] | lda | Leading dimension of the array A. lda >= max(1,l), where l is m when transa = PlasmaNoTrans and n otherwise. |
[in] | beta | Scalar factor of B. |
[in,out] | pB | Matrix of size ldb-by-n. On exit, B = alpha * op( A ) + beta * B |
[in] | ldb | Leading dimension of the array B. ldb >= max(1,m). |
PlasmaSuccess | successful exit |
void plasma_omp_zgeadd | ( | plasma_enum_t | transa, |
plasma_complex64_t | alpha, | ||
plasma_desc_t | A, | ||
plasma_complex64_t | beta, | ||
plasma_desc_t | B, | ||
plasma_sequence_t * | sequence, | ||
plasma_request_t * | request | ||
) |
Performs an addition of two general rectangular matrices similarly to the 'pztradd()' function from the PBLAS library. Non-blocking tile version of plasma_zgeadd(). 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] | transa | Specifies whether the matrix A is non-transposed, transposed, or conjugate transposed
|
[in] | alpha | The scalar alpha. |
[in] | A | Descriptor of matrix A. |
[in] | beta | The scalar beta. |
[in,out] | B | Descriptor of matrix B. |
[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. |