SuperLU 6.0.1
superlu_enum_consts.h
Go to the documentation of this file.
1
21#ifndef __SUPERLU_ENUM_CONSTS /* allow multiple inclusions */
22#define __SUPERLU_ENUM_CONSTS
23
24#define LargeDiag_AWPM LargeDiag_HWPM /* backward compatibility */
25
26/***********************************************************************
27 * Enumerate types
28 ***********************************************************************/
29typedef enum {NO, YES} yes_no_t;
34typedef enum {NOTRANS, TRANS, CONJ} trans_t;
35typedef enum {NOEQUIL, ROW, COL, BOTH} DiagScale_t;
37//typedef enum {LUSUP, UCOL, LSUB, USUB, LLVL, ULVL, NO_MEMTYPE} MemType;
39typedef enum {HEAD, TAIL} stack_end_t;
40typedef enum {SYSTEM, USER} LU_space_t;
42
43/*
44 * The following are for ILUTP in serial SuperLU
45 */
46typedef enum {SILU, SMILU_1, SMILU_2, SMILU_3} milu_t;
47typedef enum {NODROP = 0x0000,
48 DROP_BASIC = 0x0001, /* ILU(tau) */
49 DROP_PROWS = 0x0002, /* ILUTP: keep p maximum rows */
50 DROP_COLUMN = 0x0004, /* ILUTP: for j-th column,
51 p = gamma * nnz(A(:,j)) */
52 DROP_AREA = 0x0008, /* ILUTP: for j-th column, use
53 nnz(F(:,1:j)) / nnz(A(:,1:j))
54 to limit memory growth */
55 DROP_SECONDARY = 0x000E, /* PROWS | COLUMN | AREA */
56 DROP_DYNAMIC = 0x0010,
58
59
60/*
61 * The following enumerate type is used by the statistics variable
62 * to keep track of flop count and time spent at various stages.
63 *
64 * Note that not all of the fields are disjoint.
65 */
66typedef enum {
67 COLPERM, /* find a column ordering that minimizes fills */
68 ROWPERM, /* find a row ordering maximizes diagonal. */
69 RELAX, /* find artificial supernodes */
70 ETREE, /* compute column etree */
71 EQUIL, /* equilibrate the original matrix */
72 SYMBFAC, /* symbolic factorization. */
73 DIST, /* distribute matrix. */
74 FACT, /* perform LU factorization */
75 COMM, /* communication for factorization */
76 COMM_DIAG, /* Bcast diagonal block to process column */
77 COMM_RIGHT, /* communicate L panel */
78 COMM_DOWN, /* communicate U panel */
79 SOL_COMM,/* communication for solve */
80 SOL_GEMM,/* gemm for solve */
81 SOL_TRSM,/* trsm for solve */
82 SOL_TOT, /* LU-solve time*/
83 RCOND, /* estimate reciprocal condition number */
84 SOLVE, /* forward and back solves */
85 REFINE, /* perform iterative refinement */
86 TRSV, /* fraction of FACT spent in xTRSV */
87 GEMV, /* fraction of FACT spent in xGEMV */
88 FERR, /* estimate error bounds after iterative refinement */
89 NPHASES /* total number of phases */
91
92#endif /* __SUPERLU_ENUM_CONSTS */
trans_t
Definition: superlu_enum_consts.h:34
@ TRANS
Definition: superlu_enum_consts.h:34
@ CONJ
Definition: superlu_enum_consts.h:34
@ NOTRANS
Definition: superlu_enum_consts.h:34
milu_t
Definition: superlu_enum_consts.h:46
@ SMILU_1
Definition: superlu_enum_consts.h:46
@ SMILU_3
Definition: superlu_enum_consts.h:46
@ SMILU_2
Definition: superlu_enum_consts.h:46
@ SILU
Definition: superlu_enum_consts.h:46
LU_space_t
Definition: superlu_enum_consts.h:40
@ SYSTEM
Definition: superlu_enum_consts.h:40
@ USER
Definition: superlu_enum_consts.h:40
rule_t
Definition: superlu_enum_consts.h:47
@ DROP_DYNAMIC
Definition: superlu_enum_consts.h:56
@ DROP_PROWS
Definition: superlu_enum_consts.h:49
@ DROP_COLUMN
Definition: superlu_enum_consts.h:50
@ DROP_INTERP
Definition: superlu_enum_consts.h:57
@ NODROP
Definition: superlu_enum_consts.h:47
@ DROP_SECONDARY
Definition: superlu_enum_consts.h:55
@ DROP_AREA
Definition: superlu_enum_consts.h:52
@ DROP_BASIC
Definition: superlu_enum_consts.h:48
DiagScale_t
Definition: superlu_enum_consts.h:35
@ COL
Definition: superlu_enum_consts.h:35
@ BOTH
Definition: superlu_enum_consts.h:35
@ ROW
Definition: superlu_enum_consts.h:35
@ NOEQUIL
Definition: superlu_enum_consts.h:35
IterRefine_t
Definition: superlu_enum_consts.h:36
@ SLU_DOUBLE
Definition: superlu_enum_consts.h:36
@ NOREFINE
Definition: superlu_enum_consts.h:36
@ SLU_EXTRA
Definition: superlu_enum_consts.h:36
@ SLU_SINGLE
Definition: superlu_enum_consts.h:36
stack_end_t
Definition: superlu_enum_consts.h:39
@ HEAD
Definition: superlu_enum_consts.h:39
@ TAIL
Definition: superlu_enum_consts.h:39
rowperm_t
Definition: superlu_enum_consts.h:31
@ MY_PERMR
Definition: superlu_enum_consts.h:31
@ NOROWPERM
Definition: superlu_enum_consts.h:31
@ LargeDiag_MC64
Definition: superlu_enum_consts.h:31
@ LargeDiag_HWPM
Definition: superlu_enum_consts.h:31
colperm_t
Definition: superlu_enum_consts.h:32
@ MMD_ATA
Definition: superlu_enum_consts.h:32
@ NATURAL
Definition: superlu_enum_consts.h:32
@ METIS_AT_PLUS_A
Definition: superlu_enum_consts.h:33
@ MY_PERMC
Definition: superlu_enum_consts.h:33
@ METIS_ATA
Definition: superlu_enum_consts.h:33
@ PARMETIS
Definition: superlu_enum_consts.h:33
@ ZOLTAN
Definition: superlu_enum_consts.h:33
@ MMD_AT_PLUS_A
Definition: superlu_enum_consts.h:32
@ COLAMD
Definition: superlu_enum_consts.h:32
MemType
Definition: superlu_enum_consts.h:38
@ ULVL
Definition: superlu_enum_consts.h:38
@ LSUB
Definition: superlu_enum_consts.h:38
@ UCOL
Definition: superlu_enum_consts.h:38
@ LLVL
Definition: superlu_enum_consts.h:38
@ NO_MEMTYPE
Definition: superlu_enum_consts.h:38
@ LUSUP
Definition: superlu_enum_consts.h:38
@ USUB
Definition: superlu_enum_consts.h:38
fact_t
Definition: superlu_enum_consts.h:30
@ FACTORED
Definition: superlu_enum_consts.h:30
@ SamePattern_SameRowPerm
Definition: superlu_enum_consts.h:30
@ SamePattern
Definition: superlu_enum_consts.h:30
@ DOFACT
Definition: superlu_enum_consts.h:30
norm_t
Definition: superlu_enum_consts.h:41
@ TWO_NORM
Definition: superlu_enum_consts.h:41
@ ONE_NORM
Definition: superlu_enum_consts.h:41
@ INF_NORM
Definition: superlu_enum_consts.h:41
yes_no_t
Definition: superlu_enum_consts.h:29
@ NO
Definition: superlu_enum_consts.h:29
@ YES
Definition: superlu_enum_consts.h:29
PhaseType
Definition: superlu_enum_consts.h:66
@ COMM_DIAG
Definition: superlu_enum_consts.h:76
@ FACT
Definition: superlu_enum_consts.h:74
@ SYMBFAC
Definition: superlu_enum_consts.h:72
@ NPHASES
Definition: superlu_enum_consts.h:89
@ SOL_COMM
Definition: superlu_enum_consts.h:79
@ SOL_TOT
Definition: superlu_enum_consts.h:82
@ SOL_GEMM
Definition: superlu_enum_consts.h:80
@ SOL_TRSM
Definition: superlu_enum_consts.h:81
@ COMM
Definition: superlu_enum_consts.h:75
@ COMM_RIGHT
Definition: superlu_enum_consts.h:77
@ FERR
Definition: superlu_enum_consts.h:88
@ ETREE
Definition: superlu_enum_consts.h:70
@ RELAX
Definition: superlu_enum_consts.h:69
@ RCOND
Definition: superlu_enum_consts.h:83
@ COMM_DOWN
Definition: superlu_enum_consts.h:78
@ EQUIL
Definition: superlu_enum_consts.h:71
@ GEMV
Definition: superlu_enum_consts.h:87
@ SOLVE
Definition: superlu_enum_consts.h:84
@ REFINE
Definition: superlu_enum_consts.h:85
@ TRSV
Definition: superlu_enum_consts.h:86
@ DIST
Definition: superlu_enum_consts.h:73
@ ROWPERM
Definition: superlu_enum_consts.h:68
@ COLPERM
Definition: superlu_enum_consts.h:67