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

Approximation schemes for dense matrices. More...

Collaboration diagram for Approximation routines:

Typedefs

typedef int STARSH_blrm_approximate(STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Typedef for prototype of approximation routine.
 

Functions

int starsh_blrm__dsdd (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by divide-and-conquer SVD (GESDD function). More...
 
int starsh_blrm__drsdd (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by randomized SVD. More...
 
int starsh_blrm__dqp3 (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile of BLR matrix with RRQR (GEQP3 function). More...
 
int starsh_blrm__dsdd_omp (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by divide-and-conquer SVD (GESDD function). More...
 
int starsh_blrm__drsdd_omp (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by randomized SVD. More...
 
int starsh_blrm__dqp3_omp (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile of BLR matrix with RRQR (GEQP3 function). More...
 
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). More...
 
int starsh_blrm__drsdd_mpi (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by randomized SVD. More...
 
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). More...
 
int starsh_blrm__dna_mpi (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Simply compute matrix without any approximation. More...
 
int starsh_blrm__dsdd_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by divide-and-conquer SVD (GESDD function). More...
 
int starsh_blrm__drsdd_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by randomized SVD. More...
 
int starsh_blrm__dqp3_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile of BLR matrix with RRQR (GEQP3 function). More...
 
int starsh_blrm__dsdd_mpi_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by divide-and-conquer SVD (GESDD function). More...
 
int starsh_blrm__drsdd_mpi_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile by randomized SVD. More...
 
int starsh_blrm__dqp3_mpi_starpu (STARSH_blrm **matrix, STARSH_blrf *format, int maxrank, double tol, int onfly)
 Approximate each tile of BLR matrix with RRQR (GEQP3 function). More...
 

Detailed Description

Approximation schemes for dense matrices.

Function Documentation

◆ starsh_blrm__dna_mpi()

int starsh_blrm__dna_mpi ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Simply compute matrix without any approximation.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.

◆ starsh_blrm__dqp3()

int starsh_blrm__dqp3 ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile of BLR matrix with RRQR (GEQP3 function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dqp3_mpi()

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).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dqp3_mpi_starpu()

int starsh_blrm__dqp3_mpi_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile of BLR matrix with RRQR (GEQP3 function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dqp3_omp()

int starsh_blrm__dqp3_omp ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile of BLR matrix with RRQR (GEQP3 function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dqp3_starpu()

int starsh_blrm__dqp3_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile of BLR matrix with RRQR (GEQP3 function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__drsdd()

int starsh_blrm__drsdd ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by randomized SVD.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__drsdd_mpi()

int starsh_blrm__drsdd_mpi ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by randomized SVD.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__drsdd_mpi_starpu()

int starsh_blrm__drsdd_mpi_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by randomized SVD.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__drsdd_omp()

int starsh_blrm__drsdd_omp ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by randomized SVD.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.

◆ starsh_blrm__drsdd_starpu()

int starsh_blrm__drsdd_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by randomized SVD.

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dsdd()

int starsh_blrm__dsdd ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by divide-and-conquer SVD (GESDD function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dsdd_mpi()

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).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dsdd_mpi_starpu()

int starsh_blrm__dsdd_mpi_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by divide-and-conquer SVD (GESDD function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.

◆ starsh_blrm__dsdd_omp()

int starsh_blrm__dsdd_omp ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by divide-and-conquer SVD (GESDD function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.

◆ starsh_blrm__dsdd_starpu()

int starsh_blrm__dsdd_starpu ( STARSH_blrm **  matrix,
STARSH_blrf format,
int  maxrank,
double  tol,
int  onfly 
)

Approximate each tile by divide-and-conquer SVD (GESDD function).

Parameters
[out]matrixAddress of pointer to STARSH_blrm object.
[in]formatBlock low-rank format.
[in]maxrankMaximum possible rank.
[in]tolRelative error tolerance.
[in]onflyWhether not to store dense blocks.
Returns
Error code STARSH_ERRNO.