STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations

H-by-dense matrix multiplication. More...

Collaboration diagram for GEMM:

Functions

int starsh_blrm__dmml (STARSH_blrm *matrix, int nrhs, double alpha, double *A, int lda, double beta, double *B, int ldb)
 Multiply blr-matrix by dense matrix. More...
 
int starsh_blrm__dmml_omp (STARSH_blrm *matrix, int nrhs, double alpha, double *A, int lda, double beta, double *B, int ldb)
 Multiply blr-matrix by dense matrix. More...
 
int starsh_blrm__dmml_mpi (STARSH_blrm *matrix, int nrhs, double alpha, double *A, int lda, double beta, double *B, int ldb)
 Multiply blr-matrix by dense matrix on MPI nodes. More...
 
int starsh_blrm__dmml_mpi_tlr (STARSH_blrm *matrix, int nrhs, double alpha, double *A, int lda, double beta, double *B, int ldb)
 Multiply blr-matrix by dense matrix on MPI nodes. More...
 

Detailed Description

H-by-dense matrix multiplication.

Function Documentation

◆ starsh_blrm__dmml()

int starsh_blrm__dmml ( STARSH_blrm matrix,
int  nrhs,
double  alpha,
double *  A,
int  lda,
double  beta,
double *  B,
int  ldb 
)

Multiply blr-matrix by dense matrix.

Performs C=alpha*A*B+beta*C with STARSH_blrm A and dense matrices B and C. All the integer types are int, since they are used in BLAS calls.

Parameters
[in]matrixPointer to STARSH_blrm object.
[in]nrhsNumber of right hand sides.
[in]alphaScalar mutliplier.
[in]ADense matrix, right havd side.
[in]ldaLeading dimension of A.
[in]betaScalar multiplier.
[in]BResulting dense matrix.
[in]ldbLeading dimension of B.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dmml_mpi()

int starsh_blrm__dmml_mpi ( STARSH_blrm matrix,
int  nrhs,
double  alpha,
double *  A,
int  lda,
double  beta,
double *  B,
int  ldb 
)

Multiply blr-matrix by dense matrix on MPI nodes.

Performs C=alpha*A*B+beta*C with STARSH_blrm A and dense matrices B and C. All the integer types are int, since they are used in BLAS calls.

Parameters
[in]matrixPointer to STARSH_blrm object.
[in]nrhsNumber of right hand sides.
[in]alphaScalar mutliplier.
[in]ADense matrix, right havd side.
[in]ldaLeading dimension of A.
[in]betaScalar multiplier.
[in]BResulting dense matrix.
[in]ldbLeading dimension of B.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dmml_mpi_tlr()

int starsh_blrm__dmml_mpi_tlr ( STARSH_blrm matrix,
int  nrhs,
double  alpha,
double *  A,
int  lda,
double  beta,
double *  B,
int  ldb 
)

Multiply blr-matrix by dense matrix on MPI nodes.

Performs C=alpha*A*B+beta*C with STARSH_blrm A and dense matrices B and C. All the integer types are int, since they are used in BLAS calls. Block-wise low-rank matrix A is in TLR format.

Parameters
[in]matrixPointer to STARSH_blrm object.
[in]nrhsNumber of right hand sides.
[in]alphaScalar mutliplier.
[in]ADense matrix, right havd side.
[in]ldaLeading dimension of A.
[in]betaScalar multiplier.
[in]BResulting dense matrix.
[in]ldbLeading dimension of B.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dmml_omp()

int starsh_blrm__dmml_omp ( STARSH_blrm matrix,
int  nrhs,
double  alpha,
double *  A,
int  lda,
double  beta,
double *  B,
int  ldb 
)

Multiply blr-matrix by dense matrix.

Performs C=alpha*A*B+beta*C with STARSH_blrm A and dense matrices B and C. All the integer types are int, since they are used in BLAS calls.

Parameters
[in]matrixPointer to STARSH_blrm object.
[in]nrhsNumber of right hand sides.
[in]alphaScalar mutliplier.
[in]ADense matrix, right havd side.
[in]ldaLeading dimension of A.
[in]betaScalar multiplier.
[in]BResulting dense matrix.
[in]ldbLeading dimension of B.
Returns
Error code STARSH_ERRNO.