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;