16 #ifndef _pastixdata_h_
17 #define _pastixdata_h_
19 #include "common/isched.h"
26 #ifndef DOXYGEN_SHOULD_SKIP_THIS
27 #define STEP_INIT (1 << 0)
28 #define STEP_ORDERING (1 << 1)
29 #define STEP_SYMBFACT (1 << 2)
30 #define STEP_ANALYSE (1 << 3)
31 #define STEP_CSC2BCSC (1 << 4)
32 #define STEP_BCSC2CTAB (1 << 5)
33 #define STEP_NUMFACT (1 << 6)
34 #define STEP_SOLVE (1 << 7)
35 #define STEP_REFINE (1 << 8)
41 #ifndef DOXYGEN_SHOULD_SKIP_THIS
42 #define PASTIX_SCHED_FAMILY_RUNTIME ((1 << PastixSchedParsec) | (1 << PastixSchedStarPU))
43 #define PASTIX_SCHED_FAMILY_PTHREAD ((1 << PastixSchedSequential) | (1 << PastixSchedStatic) | (1 << PastixSchedDynamic))
45 #define isSchedRuntime( _runtime_ ) ( (1 << (_runtime_)) & PASTIX_SCHED_FAMILY_RUNTIME )
46 #define isSchedPthread( _runtime_ ) ( (1 << (_runtime_)) & PASTIX_SCHED_FAMILY_PTHREAD )
47 #define isSchedValid( _runtime_, _family_ ) ( (1 << (_runtime_)) & (_family_) )
52 struct pastix_model_s;
53 typedef struct pastix_model_s pastix_model_t;
89 const spmatrix_t *
csc;
128 #ifdef WITH_SEM_BARRIER
134 #ifndef DOXYGEN_SHOULD_SKIP_THIS
BEGIN_C_DECLS typedef int pastix_int_t
Structure to manage communications with distributed rhs.
Internal column block distributed CSC matrix.
spm_coeftype_t pastix_coeftype_t
Arithmetic types.
enum pastix_scheduler_e pastix_scheduler_t
Scheduler.
pastix_model_t * cpu_models
pastix_model_t * gpu_models
pastix_int_t * Ploc2Pglob
pastix_order_t * ordemesh
bvec_handle_comm_t * rhs_comm
pastix_coeftype_t flttype
pastix_int_t * schur_list
symbol_matrix_t * symbmtx
pastix_int_t * zeros_list
PASTIX_Comm intra_node_comm
PASTIX_Comm inter_node_comm
Main PaStiX data structure.
Main PaStiX RHS structure.
Solver column block structure.