36int main(
int argc,
char* argv[])
39 MPI_Init(&argc, &argv);
40 MPI_Comm_size(MPI_COMM_WORLD,&
nprocs);
41 MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
46 cout <<
"Usage: ./<Binary> <MatrixA> <MatrixB> <MatrixCC>" << endl;
52 string Aname(argv[1]);
53 string Bname(argv[2]);
54 string CCname(argv[3]);
55 shared_ptr<CommGrid> fullWorld;
56 fullWorld.reset(
new CommGrid(MPI_COMM_WORLD, 0, 0) );
70 SpDCCols < int64_t, double >* Alocal = A2D.
seqptr();
71 SpDCCols < int64_t, double >* Blocal = B2D.
seqptr();
72 SpDCCols < int64_t, double >* CClocal = CC2D.
seqptr();
76 SpDCCols < int64_t, double >* Clocal =
new SpDCCols < int64_t, double >(*Clocal_tuples,
false);
78 if(*Clocal == *CClocal){
79 if(myrank == 0) fprintf(stderr,
"Correct\n");
82 if(myrank == 0) fprintf(stderr,
"Not correct\n");
SpTuples< IT, NTO > * LocalSpGEMM(const SpDCCols< IT, NT1 > &A, const SpDCCols< IT, NT2 > &B, bool clearA, bool clearB)