13 #ifndef __STARSH_MPI_H__ 14 #define __STARSH_MPI_H__ 54 void *alloc_U,
void *alloc_V,
void *alloc_D,
char alloc_type);
71 int maxrank,
double tol,
int onfly);
73 int maxrank,
double tol,
int onfly);
75 int maxrank,
double tol,
int onfly);
77 int maxrank,
double tol,
int onfly);
93 double *A,
int lda,
double beta,
double *B,
int ldb);
95 double *A,
int lda,
double beta,
double *B,
int ldb);
126 int ldb,
double *X,
int ldx,
double tol,
double *work);
134 #endif // __STARSH_MPI_H__ ssize_t STARSH_int
STARSH signed integer to support more, than MAX_INT rows/columns.
Definition: starsh.h:64
STARSH_BLRF_TYPE
Enum type to show actual block low-rank format.
Definition: starsh-constants.h:101
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.
Definition: dmml.c:221
int starsh_blrf_new_from_coo_mpi(STARSH_blrf **format, STARSH_problem *problem, char symm, STARSH_cluster *row_cluster, STARSH_cluster *col_cluster, STARSH_int nblocks_far, STARSH_int *block_far, STARSH_int nblocks_far_local, STARSH_int *block_far_local, STARSH_int nblocks_near, STARSH_int *block_near, STARSH_int nblocks_near_local, STARSH_int *block_near_local, enum STARSH_BLRF_TYPE type)
Create new STARSH_blrf object on MPI node.
Definition: blrf.c:529
Non-nested block-wise low-rank format.
Definition: starsh.h:345
int starsh_blrm__dsdd_mpi(STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
Approximate each tile by divide-and-conquer SVD (GESDD function).
Definition: dsdd.c:17
int starsh_blrm_new_mpi(STARSH_blrm **matrix, STARSH_blrf *format, int *far_rank, Array **far_U, Array **far_V, int onfly, Array **near_D, void *alloc_U, void *alloc_V, void *alloc_D, char alloc_type)
Init STARSH_blrm object.
Definition: blrm.c:325
Info about clusterization of physical data.
Definition: starsh.h:263
int starsh_blrm__dqp3_mpi(STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
Approximate each tile of BLR matrix with RRQR (GEQP3 function).
Definition: dqp3.c:17
Matrix/tensor in matrix/tensor-free form.
Definition: starsh.h:186
N-dimensional array.
Definition: starsh.h:120
void starsh_blrm_free_mpi(STARSH_blrm *matrix)
Definition: blrm.c:444
int starsh_blrm__dna_mpi(STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
Simply compute matrix without any approximation.
Definition: dna.c:17
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.
Definition: dmml.c:17
double starsh_blrm__dfe_mpi(STARSH_blrm *matrix)
Approximation error in Frobenius norm of double precision matrix.
Definition: dfe.c:17
int starsh_itersolvers__dcg_mpi(STARSH_blrm *matrix, int nrhs, double *B, int ldb, double *X, int ldx, double tol, double *work)
Conjugate gradient method for STARSH_blrm object on MPI nodes.
Definition: cg.c:96
int starsh_blrm__drsdd_mpi(STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
Approximate each tile by randomized SVD.
Definition: drsdd.c:27
Non-nested block low-rank matrix.
Definition: starsh.h:497
int starsh_blrf_new_tlr_mpi(STARSH_blrf **format, STARSH_problem *problem, char symm, STARSH_cluster *row_cluster, STARSH_cluster *col_cluster)
TLR partitioning on MPI nodes with 2D block cycling distribution.
Definition: blrf.c:577