PaStiX Handbook
6.4.0
|
This group describes all the routines of the internal block CSC and the solver matrix structure before applying the numerical factorization step. More...
Modules | |
Sparse matrix blocked CSC structure | |
Describe all the internals routines to manipulate the internal block csc. | |
Solver matrix coefficient structure | |
Factorization kernels | |
PaRSEC support for the numerical factorization | |
StarPU support for the numerical factorization | |
Functions | |
int | pastix_subtask_spm2bcsc (pastix_data_t *pastix_data, spmatrix_t *spm) |
Fill the internal block CSC structure. More... | |
int | pastix_subtask_bcsc2ctab (pastix_data_t *pastix_data) |
Fill the internal solver matrix structure. More... | |
int | pastix_subtask_sopalin (pastix_data_t *pastix_data) |
Factorize the given problem using Cholesky or LU decomposition. More... | |
This group describes all the routines of the internal block CSC and the solver matrix structure before applying the numerical factorization step.
int pastix_subtask_spm2bcsc | ( | pastix_data_t * | pastix_data, |
spmatrix_t * | spm | ||
) |
Fill the internal block CSC structure.
This internal block CSC can be used by the refinement step with or without the preconditioner obtained by the numerical factorization.
This routine is affected by the following parameters: IPARM_VERBOSE.
[in,out] | pastix_data | The pastix_data structure that describes the solver instance. On exit, the internal block CSC is filled with entries from the spm matrix. |
[in,out] | spm | The sparse matrix descriptor that describes problem instance. On exit, if IPARM_FREE_CSCUSER is set, the spm is freed. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if one parameter is incorrect, |
PASTIX_ERR_OUTOFMEMORY | if one allocation failed. |
Definition at line 93 of file pastix_task_sopalin.c.
References pastix_data_s::bcsc, bcscExit(), bcscInit(), pastix_data_s::dparm, DPARM_A_NORM, pastix_data_s::inter_node_procnum, pastix_data_s::iparm, IPARM_FACTORIZATION, IPARM_FREE_CSCUSER, IPARM_SCHEDULER, IPARM_VERBOSE, pastix_data_s::ordemesh, PASTIX_ERR_BADPARAMETER, pastix_int_t, PASTIX_SUCCESS, PastixFactLDLH, PastixFactLDLT, PastixFactLU, PastixSchedDynamic, PastixSchedParsec, PastixVerboseNo, PastixVerboseNot, pastix_data_s::sched, pastix_data_s::solvglob, pastix_data_s::solvloc, pastix_data_s::solvmatr, and pastix_data_s::steps.
Referenced by pastix_task_numfact().
int pastix_subtask_bcsc2ctab | ( | pastix_data_t * | pastix_data | ) |
Fill the internal solver matrix structure.
This step is linked with the pastix_subtask_sopalin() since this structure is only used during the numerical factorization.
This routine is affected by the following parameters: IPARM_VERBOSE, [IPARM_FACTORIZATION.
[in,out] | pastix_data | The pastix_data structure that describes the solver instance. On exit, the internal solver structure is filled with entries from the internal block CSC matrix. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if one parameter is incorrect, |
PASTIX_ERR_OUTOFMEMORY | if one allocation failed. |
Definition at line 213 of file pastix_task_sopalin.c.
References pastix_data_s::bcsc, coeftabExit(), coeftabInit(), pastix_lr_s::compress_method, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, pastix_lr_s::compress_when, pastix_lr_s::core_ge2lr, core_get_rklimit, core_get_rklimit_begin(), core_get_rklimit_end(), pastix_lr_s::core_rradd, pastix_data_s::dparm, DPARM_COMPRESS_MIN_RATIO, DPARM_COMPRESS_TOLERANCE, solver_matrix_s::factotype, solver_matrix_s::flttype, ge2lrMethods, pastix_lr_s::ilu_lvl, pastix_data_s::inter_node_comm, pastix_data_s::iparm, IPARM_COMPRESS_ILUK, IPARM_COMPRESS_METHOD, IPARM_COMPRESS_MIN_HEIGHT, IPARM_COMPRESS_MIN_WIDTH, IPARM_COMPRESS_ORTHO, IPARM_COMPRESS_PRESELECT, IPARM_COMPRESS_RELTOL, IPARM_COMPRESS_WHEN, IPARM_FACTORIZATION, IPARM_MIXED, IPARM_SCHEDULER, solver_matrix_s::lowrank, pastix_data_s::parsec, parsec_sparse_matrix_init(), PASTIX_ERR_BADPARAMETER, pastix_lr_minratio, pastix_lr_ortho, pastix_parsec_init(), PastixCompressNever, PastixCompressWhenBegin, PastixCompressWhenDuring, PastixCompressWhenEnd, PastixFactLDLH, PastixFactLDLT, PastixFactLLH, PastixFactLLT, PastixFactLU, PastixGeneral, PastixHermitian, PastixLCoef, PastixLUCoef, PastixSchedParsec, PastixSymmetric, pastix_data_s::procnbr, rraddMethods, pastix_data_s::solvmatr, pastix_data_s::steps, pastix_lr_s::tolerance, and pastix_lr_s::use_reltol.
Referenced by pastix_task_numfact().
int pastix_subtask_sopalin | ( | pastix_data_t * | pastix_data | ) |
Factorize the given problem using Cholesky or LU decomposition.
The user can call the pastix_task_solve() to obtain the solution.
This routine is affected by the following parameters: IPARM_VERBOSE, IPARM_FACTORIZATION, IPARM_COMPRESS_WHEN.
[in,out] | pastix_data | The pastix_data structure that describes the solver instance. On exit, the solver matrix structure stores the factorization of the given problem. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if one parameter is incorrect, |
PASTIX_ERR_OUTOFMEMORY | if one allocation failed. |
Definition at line 412 of file pastix_task_sopalin.c.
References pastix_data_s::bcsc, coeftabMemory, pastix_data_s::cpu_models, pastix_data_s::dir_local, pastix_data_s::dparm, DPARM_A_NORM, DPARM_EPSILON_MAGN_CTRL, DPARM_FACT_ENERGY, DPARM_FACT_FLOPS, DPARM_FACT_RLFLOPS, DPARM_FACT_THFLOPS, DPARM_FACT_TIME, DPARM_MEM_FR, DPARM_MEM_LR, solver_matrix_s::flttype, pastix_data_s::gpu_models, pastix_data_s::inter_node_comm, pastix_data_s::inter_node_procnum, pastix_data_s::iparm, IPARM_FACTORIZATION, IPARM_STATIC_PIVOTING, IPARM_TRACE, IPARM_VERBOSE, kernelsTraceStart(), kernelsTraceStop(), PASTIX_ERR_BADPARAMETER, pastix_fopenw(), pastix_gendirectories(), pastix_int_t, pastixBlasSetNumThreads(), pastixBlasSetNumThreadsOne(), PastixTraceNumfact, PastixVerboseNot, solver_matrix_s::restore, solverBackupExit(), solverBackupInit(), solverBackupRestore(), solverDraw(), pastix_data_s::solvmatr, and pastix_data_s::steps.
Referenced by pastix_task_numfact().