62int main(
int argc,
char* argv[])
66 int provided, flag, claimed;
67 MPI_Init_thread(&argc, &argv, MPI_THREAD_FUNNELED, &provided );
68 MPI_Is_thread_main( &flag );
71 MPI_Query_thread( &claimed );
72 if (claimed != provided)
75 MPI_Init(&argc, &argv);
78 MPI_Comm_size(MPI_COMM_WORLD,&
nprocs);
79 MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
84 cout <<
"Usage: ./genwritemat <Scale> <Edgefactor> <Symmetricize> <outputname>" << endl;
85 cout <<
"Example: ./genwritemat 25 16 1 scale25_ef16_symmetric.mtx" << endl;
91 unsigned scale =
static_cast<unsigned>(atoi(argv[1]));
92 unsigned edgefactor =
static_cast<unsigned>(atoi(argv[2]));
93 int symmetric =
static_cast<unsigned>(atoi(argv[3]));
96 double initiator[4] = {.57, .19, .19, .05};
98 double t01 = MPI_Wtime();
105 tinfo <<
"Generation took " << t02-t01 <<
" seconds" << endl;
115 ostringstream loopinfo;
116 loopinfo <<
"Removed " << removed <<
" loops" << endl;
128 outs <<
"Load balance: " << balance << endl;