2#include "CombBLAS/CombBLAS.h"
44 const uint64_t b[] = {0x2ULL, 0xCULL, 0xF0ULL, 0xFF00ULL, 0xFFFF0000ULL, 0xFFFFFFFF00000000ULL};
45 const unsigned int S[] = {1, 2, 4, 8, 16, 32};
49 for (i = 5; i >= 0; i--)
61bool from_string(
T & t,
const string& s, std::ios_base& (*
f)(std::ios_base&))
68template <
typename PARMAT>
82struct prunediscovered:
public std::binary_function<int64_t, int64_t, int64_t >
86 return (
y == -1 ) ?
x: -1;
95 for (
int i=0; i<*
len; i++ )
109 cout <<
"Usage: ./scbfs <Scale>" <<
endl;
110 cout <<
"Example: mpirun -np 4 ./scbfs 20" <<
endl;
135 double initiator[4] = {.57, .19, .19, .05};
228 degrees.PrintInfo(
"Degrees array");
243 for(
int i=0; i<
ITERS; ++i)
248 for(
int i=0; i<
ITERS; ++i)
253 for(
int i=0; i<
ITERS; ++i)
257 for(
int i=0; i<
ITERS; ++i)
274 while(
fringe.getnnz() > 0)
279 fringe.PrintInfo(
"Frontier");
299 outnew <<
"Number of edges traversed: " << nedges <<
endl;
301 outnew <<
"MTEPS: " <<
static_cast<double>(nedges) / (
t2-
t1) / 1000000.0 <<
endl;
305 MTEPS[i] =
static_cast<double>(nedges) / (
t2-
t1) / 1000000.0;
313 os <<
"--------------------------" <<
endl;
327 os <<
"--------------------------" <<
endl;
330 os <<
"Min time: " <<
TIMES[0] <<
" seconds" <<
endl;
339 os <<
"Mean time: " <<
mean <<
" seconds" <<
endl;
341 os <<
"--------------------------" <<
endl;
double cblas_transvectime
double cblas_localspmvtime
double cblas_allgathertime
double cblas_alltoalltime
unsigned int highestbitset(uint64_t v)
double cblas_mergeconttime
bool from_string(T &t, const string &s, std::ios_base &(*f)(std::ios_base &))
SelectMaxSRing< bool, int64_t > SR
SpParMat< int64_t, int, SpDCCols< int32_t, int > > PSpMat_s32p64_Int
SpParMat< int64_t, bool, SpDCCols< int64_t, bool > > PSpMat_Bool
SpParMat< int64_t, bool, SpDCCols< int32_t, bool > > PSpMat_s32p64
SpParMat< int64_t, int64_t, SpDCCols< int64_t, int64_t > > PSpMat_Int64
void GenGraph500Data(double initiator[4], int log_numverts, int edgefactor, bool scramble=false, bool packed=false)
static void Print(const std::string &s)
void Symmetricize(PARMAT &A)
Dcsc< IU, typename promote_trait< NU1, NU2 >::T_promote > EWiseMult(const Dcsc< IU, NU1 > &A, const Dcsc< IU, NU2 > *B, bool exclude)
unsigned __int64 uint64_t
int64_t operator()(int64_t x, const int64_t &y) const