PaStiX Handbook
6.4.0
|
Data Structures | |
struct | pastix_lrblock_s |
The block low-rank structure to hold a matrix in low-rank form. More... | |
struct | pastix_lr_s |
Structure to define the type of function to use for the low-rank kernels and their parameters. More... | |
Macros | |
#define | PASTIX_LRM3_ORTHOU (1 << 0) |
Macro to specify if the U part of a low-rank matrix is orthogonal or not (Used in LRMM functions). | |
#define | PASTIX_LRM3_ALLOCU (1 << 1) |
Macro to specify if the U part of a low-rank matrix has been allocated and need to be freed or not (Used in LRMM functions). | |
#define | PASTIX_LRM3_ALLOCV (1 << 2) |
Macro to specify if the V part of a low-rank matrix has been allocated and need to be freed or not (Used in LRMM functions). | |
#define | PASTIX_LRM3_TRANSB (1 << 3) |
Macro to specify if the the operator on B, still needs to be applied to the V part of the low-rank matrix or not (Used in LRMM functions). | |
Typedefs | |
typedef struct pastix_lr_s | pastix_lr_t |
Structure to define the type of function to use for the low-rank kernels and their parameters. | |
typedef struct pastix_lrblock_s | pastix_lrblock_t |
The block low-rank structure to hold a matrix in low-rank form. | |
typedef pastix_fixdbl_t(* | fct_ge2lr_t) (int, pastix_fixdbl_t, pastix_int_t, pastix_int_t, pastix_int_t, const void *, pastix_int_t, pastix_lrblock_t *) |
Type of the functions to compress a dense block into a low-rank form. | |
typedef pastix_fixdbl_t(* | fct_rradd_t) (const pastix_lr_t *, pastix_trans_t, const void *, pastix_int_t, pastix_int_t, const pastix_lrblock_t *, pastix_int_t, pastix_int_t, pastix_lrblock_t *, pastix_int_t, pastix_int_t) |
Type of the functions to add two low-rank blocks together. | |
typedef enum memory_stats_e | memory_stats_t |
Enum to define the type of block. | |
Enumerations | |
enum | memory_stats_e { FR_InDiag = 0 , FR_OffDiag = 1 , LR_InDiag = 2 , LR_InSele = 3 , LR_OffDiag = 4 , LR_DInD = 5 , MEMORY_STATS_SIZE } |
Enum to define the type of block. More... | |
Functions | |
static pastix_int_t | core_get_rklimit_max (pastix_int_t M, pastix_int_t N) |
Compute the maximal rank accepted for a given matrix size for testings. More... | |
static pastix_int_t | core_get_rklimit_end (pastix_int_t M, pastix_int_t N) |
Compute the maximal rank accepted for a given matrix size for Just-In-Time strategy. More... | |
static pastix_int_t | core_get_rklimit_begin (pastix_int_t M, pastix_int_t N) |
Compute the maximal rank accepted for a given matrix size for Minimal-Memory strategy. More... | |
static pastix_int_t | core_get_rklimit_test (pastix_int_t M, pastix_int_t N) |
TODO. More... | |
Variables | |
const char * | compmeth_shnames [PastixCompressMethodNbr] |
List of short names for the compression kernels. | |
const char * | compmeth_lgnames [PastixCompressMethodNbr] |
List of long names for the compression kernels. | |
double | pastix_lr_minratio |
Define the minimal ratio for which we accept to compress a matrix into a low-rank form or not. More... | |
pastix_int_t | pastix_lr_ortho |
Define the orthogonalization method. | |
pastix_int_t(* | core_get_rklimit )(pastix_int_t, pastix_int_t) |
Compute the maximal rank accepted for a given matrix size. The pointer is set according to the low-rank strategy used. More... | |
const fct_ge2lr_t | ge2lrMethods [PastixCompressMethodNbr][4] |
Array of pointers to the multiple arithmetic and algorithmic variants of ge2lr. | |
const fct_rradd_t | rraddMethods [PastixCompressMethodNbr][4] |
Array of pointers to the multiple arithmetic and algorithmic variants of rradd. | |
This module contains all the internal functions for low-rank kernels
struct pastix_lrblock_s |
The block low-rank structure to hold a matrix in low-rank form.
Definition at line 166 of file pastix_lowrank.h.
struct pastix_lr_s |
Structure to define the type of function to use for the low-rank kernels and their parameters.
Definition at line 201 of file pastix_lowrank.h.
Data Fields | ||
---|---|---|
pastix_compress_when_t | compress_when |
When to compress in the full solver |
pastix_compress_method_t | compress_method |
Compression method |
pastix_int_t | compress_min_width |
Minimum width to compress a supernode |
pastix_int_t | compress_min_height |
Minimum height to compress an off-diagonal block |
int | compress_preselect |
Enable/disable the compression of preselected blocks |
int | use_reltol |
Enable/disable relative tolerance vs absolute one |
int | ilu_lvl |
The ILU levels above which the blocks are originally compressed |
double | tolerance |
Absolute compression tolerance |
fct_rradd_t | core_rradd |
Recompression function |
fct_ge2lr_t | core_ge2lr |
Compression function |
enum memory_stats_e |
Enum to define the type of block.
Definition at line 217 of file pastix_lowrank.h.
|
inlinestatic |
Compute the maximal rank accepted for a given matrix size for testings.
[in] | M | The number of rows of the matrix |
[in] | N | The number of columns of the matrix |
Definition at line 85 of file pastix_lowrank.h.
|
inlinestatic |
Compute the maximal rank accepted for a given matrix size for Just-In-Time strategy.
[in] | M | The number of rows of the matrix |
[in] | N | The number of columns of the matrix |
Definition at line 108 of file pastix_lowrank.h.
References pastix_lr_minratio.
Referenced by pastix_subtask_bcsc2ctab().
|
inlinestatic |
Compute the maximal rank accepted for a given matrix size for Minimal-Memory strategy.
[in] | M | The number of rows of the matrix |
[in] | N | The number of columns of the matrix |
Definition at line 131 of file pastix_lowrank.h.
References pastix_lr_minratio.
Referenced by pastix_subtask_bcsc2ctab().
|
inlinestatic |
TODO.
[in] | M | The number of rows of the matrix |
[in] | N | The number of columns of the matrix |
Definition at line 154 of file pastix_lowrank.h.
|
extern |
Define the minimal ratio for which we accept to compress a matrix into a low-rank form or not.
Definition at line 24 of file lowrank.c.
Referenced by core_get_rklimit_begin(), core_get_rklimit_end(), and pastix_subtask_bcsc2ctab().
|
extern |
Compute the maximal rank accepted for a given matrix size. The pointer is set according to the low-rank strategy used.
[in] | M | The number of rows of the matrix |
[in] | N | The number of columns of the matrix |
Definition at line 46 of file kernels_trace.c.
Referenced by core_cge2lr_qrcp(), core_cge2lr_qrrt(), core_cge2lr_svd(), core_clr2lr(), core_clr2null(), core_clrsze(), core_crradd_qr(), core_dge2lr_qrcp(), core_dge2lr_qrrt(), core_dge2lr_svd(), core_dlr2lr(), core_dlr2null(), core_dlrsze(), core_drradd_qr(), core_sge2lr_qrcp(), core_sge2lr_qrrt(), core_sge2lr_svd(), core_slr2lr(), core_slr2null(), core_slrsze(), core_srradd_qr(), core_zge2lr_qrcp(), core_zge2lr_qrrt(), core_zge2lr_svd(), core_zlr2lr(), core_zlr2null(), core_zlrsze(), core_zrradd_qr(), and pastix_subtask_bcsc2ctab().