COMBINATORIAL_BLAS 1.6
Loading...
Searching...
No Matches
RCM.cpp File Reference
#include "CombBLAS/CombBLAS.h"
#include <mpi.h>
#include <sys/time.h>
#include <iostream>
#include <functional>
#include <algorithm>
#include <vector>
#include <string>
#include <sstream>
Include dependency graph for RCM.cpp:

Go to the source code of this file.

Classes

struct  VertexType
struct  SelectMinSR

Macros

#define EDGEFACTOR   16

Typedefs

typedef SpParMat< int64_t, bool, SpDCCols< int64_t, bool > > Par_DCSC_Bool
typedef SpParMat< int64_t, int64_t, SpDCCols< int64_t, int64_t > > Par_DCSC_int64_t
typedef SpParMat< int64_t, double, SpDCCols< int64_t, double > > Par_DCSC_Double
typedef SpParMat< int64_t, bool, SpCCols< int64_t, bool > > Par_CSC_Bool

Functions

template<typename PARMAT>
void Symmetricize (PARMAT &A)
FullyDistSpVec< int64_t, int64_t > getOrder (FullyDistSpVec< int64_t, VertexType > &fringeRow, int64_t startLabel, int64_t endLabel)
template<typename PARMAT>
void RCMOrder (PARMAT &A, int64_t source, FullyDistVec< int64_t, int64_t > &order, int64_t startOrder, FullyDistVec< int64_t, int64_t > degrees, PreAllocatedSPA< int64_t > &SPA)
template<typename PARMAT>
int64_t PseudoPeripheralVertex (PARMAT &A, FullyDistSpVec< int64_t, pair< int64_t, int64_t > > &unvisitedVertices, FullyDistVec< int64_t, int64_t > degrees, PreAllocatedSPA< int64_t > &SPA)
template<typename PARMAT>
FullyDistVec< int64_t, int64_t > RCM (PARMAT &A, FullyDistVec< int64_t, int64_t > degrees, PreAllocatedSPA< int64_t > &SPA)
int main (int argc, char *argv[])

Variables

MTRand GlobalMT
double cblas_alltoalltime
double cblas_allgathertime
double cblas_localspmvtime
double cblas_mergeconttime
double cblas_transvectime
int threads
int processors
string base_filename
double torderSpMV =0
double torderSort =0
double torderOther =0

Macro Definition Documentation

◆ EDGEFACTOR

#define EDGEFACTOR   16

Definition at line 19 of file RCM.cpp.

Typedef Documentation

◆ Par_CSC_Bool

typedef SpParMat< int64_t, bool, SpCCols<int64_t,bool> > Par_CSC_Bool

Definition at line 122 of file RCM.cpp.

◆ Par_DCSC_Bool

typedef SpParMat< int64_t, bool, SpDCCols<int64_t,bool> > Par_DCSC_Bool

Definition at line 119 of file RCM.cpp.

◆ Par_DCSC_Double

typedef SpParMat< int64_t, double, SpDCCols<int64_t, double> > Par_DCSC_Double

Definition at line 121 of file RCM.cpp.

◆ Par_DCSC_int64_t

Definition at line 120 of file RCM.cpp.

Function Documentation

◆ getOrder()

FullyDistSpVec< int64_t, int64_t > getOrder ( FullyDistSpVec< int64_t, VertexType > & fringeRow,
int64_t startLabel,
int64_t endLabel )

Definition at line 127 of file RCM.cpp.

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 610 of file RCM.cpp.

◆ PseudoPeripheralVertex()

template<typename PARMAT>
int64_t PseudoPeripheralVertex ( PARMAT & A,
FullyDistSpVec< int64_t, pair< int64_t, int64_t > > & unvisitedVertices,
FullyDistVec< int64_t, int64_t > degrees,
PreAllocatedSPA< int64_t > & SPA )

Definition at line 390 of file RCM.cpp.

◆ RCM()

template<typename PARMAT>
FullyDistVec< int64_t, int64_t > RCM ( PARMAT & A,
FullyDistVec< int64_t, int64_t > degrees,
PreAllocatedSPA< int64_t > & SPA )

Definition at line 480 of file RCM.cpp.

◆ RCMOrder()

template<typename PARMAT>
void RCMOrder ( PARMAT & A,
int64_t source,
FullyDistVec< int64_t, int64_t > & order,
int64_t startOrder,
FullyDistVec< int64_t, int64_t > degrees,
PreAllocatedSPA< int64_t > & SPA )

Definition at line 332 of file RCM.cpp.

◆ Symmetricize()

template<typename PARMAT>
void Symmetricize ( PARMAT & A)

Definition at line 47 of file RCM.cpp.

Variable Documentation

◆ base_filename

string base_filename

Definition at line 41 of file RCM.cpp.

◆ cblas_allgathertime

double cblas_allgathertime

Definition at line 28 of file RCM.cpp.

◆ cblas_alltoalltime

double cblas_alltoalltime

Definition at line 27 of file RCM.cpp.

◆ cblas_localspmvtime

double cblas_localspmvtime

Definition at line 29 of file RCM.cpp.

◆ cblas_mergeconttime

double cblas_mergeconttime

Definition at line 30 of file RCM.cpp.

◆ cblas_transvectime

double cblas_transvectime

Definition at line 31 of file RCM.cpp.

◆ GlobalMT

MTRand GlobalMT

Definition at line 24 of file RCM.cpp.

◆ processors

int processors

Definition at line 40 of file RCM.cpp.

◆ threads

int threads

Definition at line 40 of file RCM.cpp.

◆ torderOther

double torderOther =0

Definition at line 329 of file RCM.cpp.

◆ torderSort

double torderSort =0

Definition at line 329 of file RCM.cpp.

◆ torderSpMV

double torderSpMV =0

Definition at line 329 of file RCM.cpp.