33#ifndef __STDC_CONSTANT_MACROS
34#define __STDC_CONSTANT_MACROS
36#ifndef __STDC_LIMIT_MACROS
37#define __STDC_LIMIT_MACROS
49#include "CombBLAS/CombBLAS.h"
76 printf(
"ERROR: The MPI library does not have MPI_THREAD_SERIALIZED support\n");
100 cout <<
"Usage: ./fastsv -I <mm|triples> -M <FILENAME> (required)\n";
101 cout <<
"-I <INPUT FILE TYPE> (mm: matrix market, triples: (vtx1, vtx2, edge_weight) triples. default:mm)\n";
102 cout <<
"-base <BASE OF MATRIX MARKET> (default:1)\n";
103 cout <<
"-rand <RANDOMLY PERMUTE VERTICES> (default:0)\n";
104 cout <<
"Example (0-indexed mtx with random permutation): ./fastsv -M input.mtx -base 0 -rand 1" <<
endl;
105 cout <<
"Example (triples format): ./fastsv -I triples -M input.txt" <<
endl;
111 string ifilename =
"";
117 for (
int i = 1; i <
argc; i++)
127 if(myrank == 0)
printf(
"filename: %s\n",ifilename.c_str());
132 if(myrank == 0)
printf(
"\nBase of MM (1 or 0):%d\n",base);
137 if(myrank == 0)
printf(
"\nRandomly permute the matrix? (1 or 0):%d\n",randpermute);
142 if(myrank == 0)
printf(
"\nGraph size:%.2f%%\n", 100.0 /
step);
172 if(
A.getnrow() ==
A.getncol())
175 p.iota(
A.getnrow(), 0);
187 outs <<
"Random permutation time: " <<
dur <<
endl;
195 outs <<
"isolated vertice: " <<
isov.TotalLength() <<
endl;
199 Int nnz =
A.getnnz();
203 outs <<
"Nonzeros: " << nnz <<
endl;
224 s2 <<
"=================================================\n" <<
endl ;
SpParMat< Int, Int, DCCols > MPI_DCCols
SpDCCols< Int, Int > DCCols
static void Print(const std::string &s)
FullyDistVec< IT, IT > SV(SpParMat< IT, NT, DER > &A, IT &nCC)