8#include "CombBLAS/CombBLAS.h"
9#include "CombBLAS/CommGrid3D.h"
10#include "CombBLAS/SpParMat3D.h"
11#include "CombBLAS/ParFriends.h"
51 cout <<
"Usage: ./<Binary> <MatrixA> " <<
endl;
67 p.iota(M.getnrow(), 0);
90 std::shared_ptr<CommGrid>
GridC =
ProductGrid((
A.getcommgrid()).get(), (
B.getcommgrid()).get(),
stages, dummy, dummy);
97 for(
int phases = 1; phases <= 256; phases = phases * 2){
98 if(myrank == 0)
fprintf(
stderr,
"Running with phase: %d\n", phases);
99 for(
int it = 0;
it < 3;
it++){
118 int Aself = (
A.getcommgrid())->GetRankInProcRow();
119 int Bself = (
B.getcommgrid())->GetRankInProcCol();
124 for(
int p = 0; p < phases; ++p)
127 for(
int i = 0; i <
stages; ++i)
138 ess.resize(DER::esscount);
139 for(
int j=0;
j< DER::esscount; ++
j)
154 ess.resize(DER::esscount);
155 for(
int j=0;
j< DER::esscount; ++
j)
185 if(myrank == 0)
fprintf(
stderr,
"\n\n++++++++++++++++++++++++++++++++++++++++++++\n\n\n\n");
double cblas_allgathertime
double cblas_alltoalltime
SpParMat< int64_t, NT, DCCols > MPI_DCCols
SpDCCols< int64_t, NT > DCCols
static void deallocate2D(T **array, I m)
static void GetSetSizes(const SpMat< IT, NT, DER > &Matrix, IT **&sizes, MPI_Comm &comm1d)
static void BCastMatrix(MPI_Comm &comm1d, SpMat< IT, NT, DER > &Matrix, const std::vector< IT > &essentials, int root)
shared_ptr< CommGrid > ProductGrid(CommGrid *gridA, CommGrid *gridB, int &innerdim, int &Aoffset, int &Boffset)