49 #define MAT_DH_BINS 10
51 #define MATVEC_MPI_TIME 1
52 #define MATVEC_MPI_TIME2 5
53 #define MATVEC_TOTAL_TIME 2
54 #define MATVEC_RATIO 3
55 #define MATVEC_WORDS 4
183 int **row_countOUT,
int **n2oOUT,
195 extern void dldperm (
int job,
int n,
int nnz,
int colptr[],
int adjncy[],
196 double nzval[],
int *perm,
double u[],
double v[]);
void Mat_dhReadBIN(Mat_dh *mat, char *filename)
void Mat_dhMatVecSetup(Mat_dh mat)
void Mat_dhGetRow(Mat_dh B, int globalRow, int *len, int **ind, double **val)
void Mat_dhPermute(Mat_dh A, int *n2o, Mat_dh *Bout)
void Mat_dhMatVec_uni(Mat_dh mat, double *x, double *b)
void Mat_dhMatVec_uni_omp(Mat_dh mat, double *x, double *b)
void Mat_dhMatVec_omp(Mat_dh mat, double *x, double *b)
void Mat_dhReadCSR(Mat_dh *mat, char *filename)
void Mat_dhPrintDiags(Mat_dh A, FILE *fp)
void Mat_dhReadTriples(Mat_dh *mat, int ignore, char *filename)
void Mat_dhFixDiags(Mat_dh A)
void Mat_dhPrintGraph(Mat_dh A, SubdomainGraph_dh sg, FILE *fp)
int Mat_dhReadNz(Mat_dh mat)
void Mat_dhPrintBIN(Mat_dh A, SubdomainGraph_dh sg, char *filename)
void Mat_dhRestoreRow(Mat_dh B, int row, int *len, int **ind, double **val)
void Mat_dhPrintCSR(Mat_dh A, SubdomainGraph_dh sg, char *filename)
void Mat_dhMatVec(Mat_dh mat, double *x, double *b)
void Mat_dhRowPermute(Mat_dh mat)
double time_min[MAT_DH_BINS]
void Mat_dhMatVecSetdown(Mat_dh mat)
void Mat_dhCreate(Mat_dh *mat)
void Mat_dhPrintTriples(Mat_dh A, SubdomainGraph_dh sg, char *filename)
void dldperm(int job, int n, int nnz, int colptr[], int adjncy[], double nzval[], int *perm, double u[], double v[])
void Mat_dhReduceTiming(Mat_dh mat)
void Mat_dhPartition(Mat_dh mat, int blocks, int **beg_rowOUT, int **row_countOUT, int **n2oOUT, int **o2nOUT)
void Mat_dhTranspose(Mat_dh A, Mat_dh *Bout)
double time_max[MAT_DH_BINS]
void Mat_dhZeroTiming(Mat_dh mat)
void Mat_dhPrintRows(Mat_dh A, SubdomainGraph_dh sg, FILE *fp)
void Mat_dhMakeStructurallySymmetric(Mat_dh A)
void Mat_dhDestroy(Mat_dh mat)