PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
coeftab.h
Go to the documentation of this file.
1/**
2 *
3 * @file coeftab.h
4 *
5 * PaStiX coefficient array routines header.
6 *
7 * @copyright 2015-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8 * Univ. Bordeaux. All rights reserved.
9 *
10 * @version 6.4.0
11 * @author Xavier Lacoste
12 * @author Pierre Ramet
13 * @author Mathieu Faverge
14 * @date 2024-07-05
15 *
16 * @addtogroup coeftab
17 * @{
18 * This group collects all the functions that operate on the full matrix and
19 * which are not factorization/solve routines.
20 *
21 **/
22#ifndef _coeftab_h_
23#define _coeftab_h_
24
25#include "sopalin/coeftab_z.h"
26#include "sopalin/coeftab_c.h"
27#include "sopalin/coeftab_d.h"
28#include "sopalin/coeftab_s.h"
29
30void coeftabInit( pastix_data_t *pastix_data,
31 pastix_coefside_t side );
32void coeftabExit( SolverMatrix *solvmtx );
33
35
36void coeftabComputeCblkILULevels( const SolverMatrix *solvmtx,
37 SolverCblk *cblk );
38
39#if defined(PASTIX_WITH_MPI)
40void coeftab_scatter( SolverMatrix *solvmtx,
41 PASTIX_Comm comm,
42 pastix_int_t root,
43 pastix_coeftype_t typesze );
44void coeftab_gather ( SolverMatrix *solvmtx,
45 PASTIX_Comm comm,
46 pastix_int_t root,
47 pastix_coeftype_t typesze );
48void coeftab_nullify( SolverMatrix *solvmtx );
49#endif
50
51/**
52 * @brief Type of the memory gain functions
53 */
54typedef void (*coeftab_fct_memory_t)( const SolverMatrix *, const pastix_int_t *, pastix_fixdbl_t * );
55
56/**
57 * @brief List of functions to compute the memory gain in low-rank per precision.
58 */
60
61/**
62 * @}
63 */
64#endif /* _coeftab_h_ */
BEGIN_C_DECLS typedef int pastix_int_t
Definition datatypes.h:51
double pastix_fixdbl_t
Definition datatypes.h:65
void coeftabComputeCblkILULevels(const SolverMatrix *solvmtx, SolverCblk *cblk)
Compute the ILU levels of a cblk.
Definition coeftab.c:454
void(* coeftab_fct_memory_t)(const SolverMatrix *, const pastix_int_t *, pastix_fixdbl_t *)
Type of the memory gain functions.
Definition coeftab.h:54
pastix_int_t coeftabCompress(pastix_data_t *pastix_data)
Compress the factorized matrix structure if not already done.
Definition coeftab.c:417
void coeftabInit(pastix_data_t *pastix_data, pastix_coefside_t side)
Initialize the solver matrix structure.
Definition coeftab.c:205
void coeftabExit(SolverMatrix *solvmtx)
Free the solver matrix structure.
Definition coeftab.c:268
coeftab_fct_memory_t coeftabMemory[4]
List of functions to compute the memory gain in low-rank per precision.
Definition coeftab.c:45
spm_coeftype_t pastix_coeftype_t
Arithmetic types.
Definition api.h:294
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
Main PaStiX data structure.
Definition pastixdata.h:68
Solver column block structure.
Definition solver.h:161
Solver column block structure.
Definition solver.h:203