36 #include "../CombBLAS.h"
53 int main(
int argc,
char* argv[])
56 MPI_Init(&argc, &argv);
57 MPI_Comm_size(MPI_COMM_WORLD,&nprocs);
58 MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
64 cout <<
"Usage: ./GalerkinNew <Matrix> <OffDiagonal> <Diagonal> <T(right hand side restriction matrix)>" << endl;
65 cout <<
"<Matrix> <OffDiagonal> <Diagonal> <T> are absolute addresses, and files should be in triples format" << endl;
66 cout <<
"Example: ./GalerkinNew TESTDATA/grid3d_k5.txt TESTDATA/offdiag_grid3d_k5.txt TESTDATA/diag_grid3d_k5.txt TESTDATA/restrict_T_grid3d_k5.txt" << endl;
72 string Aname(argv[1]);
73 string Aoffd(argv[2]);
74 string Adiag(argv[3]);
75 string Tname(argv[4]);
80 ifstream inputD(Adiag.c_str());
82 MPI_Barrier(MPI_COMM_WORLD);
123 MPI_Barrier(MPI_COMM_WORLD);
124 double t1 = MPI_Wtime();
130 MPI_Barrier(MPI_COMM_WORLD);
131 double t2 = MPI_Wtime();
134 cout<<
"Full restriction (without splitting) finished"<<endl;
135 printf(
"%.6lf seconds elapsed per iteration\n", (t2-t1)/(
double)ITERATIONS);
138 MPI_Barrier(MPI_COMM_WORLD);
150 MPI_Barrier(MPI_COMM_WORLD);
154 cout<<
"Full restriction (with splitting) finished"<<endl;
155 printf(
"%.6lf seconds elapsed per iteration\n", (t2-t1)/(
double)ITERATIONS);
157 inputD.clear();inputD.close();