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