8#include "CombBLAS/CombBLAS.h"
9#include "CombBLAS/CommGrid3D.h"
10#include "CombBLAS/SpParMat3D.h"
11#include "CombBLAS/ParFriends.h"
32 typedef SpDCCols < int64_t, NT >
DCCols;
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 if(myrank == 0) fprintf(stderr,
"***\n");
73 for(
int layers = 1; layers <= 16; layers = layers * 4){
76 printf(
"we only have %d mpi processes, skip layer %d test \n",
nprocs, layers);
80 if(myrank == 0) fprintf(stderr,
"Trying %d layers\n", layers);
87 Mult_AnXBn_SUMMA3D<PTFF, double, SpDCCols<int64_t, double>,
int64_t, double, double,
SpDCCols<int64_t, double>,
SpDCCols<int64_t, double> >
92 if(myrank == 0) fprintf(stderr,
"Correct\n");
95 if(myrank == 0) fprintf(stderr,
"Not correct\n");
98 if(myrank == 0) fprintf(stderr,
"***\n");
SpParMat< int64_t, NT, DCCols > MPI_DCCols
SpDCCols< int64_t, NT > DCCols
SpParMat< IT, NT, DER > Convert2D()
void ParallelReadMM(const std::string &filename, bool onebased, _BinaryOperation BinOp)
SpParMat3D< IU, NUO, UDERO > Mult_AnXBn_SUMMA3D(SpParMat3D< IU, NU1, UDER1 > &A, SpParMat3D< IU, NU2, UDER2 > &B)
Compute the maximum of two values.