43 #ifndef EUCLID_MPI_INTERFACE_DH
44 #define EUCLID_MPI_INTERFACE_DH
46 #define DEFAULT_DROP_TOL 0.01
48 #include "euclid_common.h"
75 extern void Euclid_dhCreate (
Euclid_dh * ctxOUT);
76 extern void Euclid_dhDestroy (
Euclid_dh ctx);
77 extern void Euclid_dhSetup (
Euclid_dh ctx);
80 extern void Euclid_dhApply (
Euclid_dh ctx,
double *lhs,
double *rhs);
82 extern void Euclid_dhPrintTestData (
Euclid_dh ctx, FILE * fp);
83 extern void Euclid_dhPrintScaling (
Euclid_dh ctx, FILE * fp);
85 extern void Euclid_dhPrintStatsShort (
Euclid_dh ctx,
double setup,
86 double solve, FILE * fp);
89 extern void Euclid_dhPrintStatsShorter (
Euclid_dh ctx, FILE * fp);
92 extern void Euclid_dhPrintHypreReport (
Euclid_dh ctx, FILE * fp);
94 extern void Euclid_dhPrintStats (
Euclid_dh ctx, FILE * fp);
105 #define MAX_OPT_LEN 20
108 #define TIMING_BINS 10
123 #define STATS_BINS 10
164 char algo_par[MAX_OPT_LEN];
165 char algo_ilu[MAX_OPT_LEN];
179 char krylovMethod[MAX_OPT_LEN];
189 double timing[TIMING_BINS];
190 double stats[STATS_BINS];
191 bool timingsWereReduced;