10 #include "CombBLAS/CombBLAS.h"
22 #define ValueType int64_t
30 int
main(
int argc,
char* argv[])
32 int torusi[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
33 int torusj[] = {3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14,1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3};
36 MPI_Init(&argc, &argv);
37 MPI_Comm_size(MPI_COMM_WORLD,&nprocs);
38 MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
40 SpParHelper::Print(
"Usage: SpMMError [arg]\nIf arg is present then matrix will be read from torus.mtx (no error).\nIf arg is absent, matrix will be created from vectors (error present)\n\n");
47 std::ifstream input(
"torus.mtx");
49 ifstream input2(
"torus.mtx");
60 for (
int i = 0; i <64; i++)
67 G1 =
MatType(16, 16, dpvi, dpvj, dpvv);
68 G2 =
MatType(16, 16, dpvi, dpvj, dpvv);
70 ofstream out1(
"G1.txt");
71 ofstream out2(
"G2.txt");
83 MatType G12 = Mult_AnXBn_Synch<PlusTimesSRing<int64_t, ValueType> >(G1, G2);
85 ofstream out12(
"G12.txt");
88 MatType G13 = Mult_AnXBn_Synch<PlusTimesSRing<int64_t, ValueType> >(G1, G3);
91 MatType G23 = Mult_AnXBn_Synch<PlusTimesSRing<int64_t, ValueType> >(G2, G3);
int main(int argc, char *argv[])
SpDCCols< int64_t, ValueType > DCColsType
SpParMat< int64_t, bool, SpDCCols< int64_t, bool > > PSpMat_Bool
SelectMaxSRing< bool, int64_t > SR
double cblas_allgathertime
double cblas_alltoalltime
SpParMat< int64_t, ValueType, DCColsType > PSpMat_Int64
SpParMat< int64_t, int, SpDCCols< int64_t, int > > PSpMat_Int
void SetElement(IT indx, NT numx)
static void Print(const std::string &s)
void ReadDistribute(const std::string &filename, int master, bool nonum, HANDLER handler, bool transpose=false, bool pario=false)
DECLARE_PROMOTE(int64_t, bool, int64_t)