COMBINATORIAL_BLAS  1.6
combblas::DistEdgeList< IT > Class Template Reference

#include <DistEdgeList.h>

Public Member Functions

 DistEdgeList ()
 
 DistEdgeList (MPI_Comm &myWorld)
 
 DistEdgeList (const char *filename, IT globaln, IT globalm)
 
 ~DistEdgeList ()
 
void Dump64bit (std::string filename)
 
void Dump32bit (std::string filename)
 
void GenGraph500Data (double initiator[4], int log_numverts, int edgefactor, bool scramble=false, bool packed=false)
 
void CleanupEmpties ()
 
int64_t getGlobalV () const
 
IT getNumLocalEdges () const
 
IT * getEdges () const
 
packed_edgegetPackedEdges () const
 

Public Attributes

std::shared_ptr< CommGridcommGrid
 

Friends

template<class IU , class NU , class UDER >
class SpParMat
 
template<typename IU >
void PermEdges (DistEdgeList< IU > &DEL)
 
template<typename IU >
void RenameVertices (DistEdgeList< IU > &DEL)
 

Detailed Description

template<typename IT>
class combblas::DistEdgeList< IT >

Definition at line 81 of file DistEdgeList.h.

Constructor & Destructor Documentation

◆ DistEdgeList() [1/3]

template<typename IT >
combblas::DistEdgeList< IT >::DistEdgeList ( )

Definition at line 49 of file DistEdgeList.cpp.

◆ DistEdgeList() [2/3]

template<typename IT >
combblas::DistEdgeList< IT >::DistEdgeList ( MPI_Comm &  myWorld)

Definition at line 55 of file DistEdgeList.cpp.

◆ DistEdgeList() [3/3]

template<typename IT >
combblas::DistEdgeList< IT >::DistEdgeList ( const char *  filename,
IT  globaln,
IT  globalm 
)

Definition at line 61 of file DistEdgeList.cpp.

◆ ~DistEdgeList()

template<typename IT >
combblas::DistEdgeList< IT >::~DistEdgeList ( )

Definition at line 162 of file DistEdgeList.cpp.

Member Function Documentation

◆ CleanupEmpties()

template<typename IT >
void combblas::DistEdgeList< IT >::CleanupEmpties ( )

Removes all edges that begin with a -1. Walks back from the end to tighten the nedges counter, then walks forward and replaces any edge with a -1 source with the last edge.

Definition at line 190 of file DistEdgeList.cpp.

◆ Dump32bit()

template<typename IT>
void combblas::DistEdgeList< IT >::Dump32bit ( std::string  filename)

◆ Dump64bit()

template<typename IT>
void combblas::DistEdgeList< IT >::Dump64bit ( std::string  filename)

◆ GenGraph500Data()

template<typename IT >
void combblas::DistEdgeList< IT >::GenGraph500Data ( double  initiator[4],
int  log_numverts,
int  edgefactor,
bool  scramble = false,
bool  packed = false 
)

Note that GenGraph500Data will return global vertex numbers (from 1... N). The ith edge can be accessed with edges[2*i] and edges[2*i+1]. There will be duplicates and the data won't be sorted. Generates an edge list consisting of an RMAT matrix suitable for the Graph500 benchmark.

Definition at line 223 of file DistEdgeList.cpp.

◆ getEdges()

template<typename IT>
IT* combblas::DistEdgeList< IT >::getEdges ( ) const
inline

Definition at line 97 of file DistEdgeList.h.

◆ getGlobalV()

template<typename IT>
int64_t combblas::DistEdgeList< IT >::getGlobalV ( ) const
inline

Definition at line 95 of file DistEdgeList.h.

◆ getNumLocalEdges()

template<typename IT>
IT combblas::DistEdgeList< IT >::getNumLocalEdges ( ) const
inline

Definition at line 96 of file DistEdgeList.h.

◆ getPackedEdges()

template<typename IT>
packed_edge* combblas::DistEdgeList< IT >::getPackedEdges ( ) const
inline

Definition at line 98 of file DistEdgeList.h.

Friends And Related Function Documentation

◆ PermEdges

template<typename IT>
template<typename IU >
void PermEdges ( DistEdgeList< IU > &  DEL)
friend

◆ RenameVertices

template<typename IT>
template<typename IU >
void RenameVertices ( DistEdgeList< IU > &  DEL)
friend

Rename vertices globally. You first need to do create a random permutation distributed on all processors. Then the p round robin algorithm will do the renaming: For all processors P(i,i) Broadcast local_p to all p processors For j= i*N/p to min((i+1)*N/p, N) Rename the all j's with local_p(j) inside the edgelist (and mark them "renamed" so that yeach vertex id is renamed only once)

Definition at line 364 of file DistEdgeList.cpp.

◆ SpParMat

template<typename IT>
template<class IU , class NU , class UDER >
friend class SpParMat
friend

Definition at line 120 of file DistEdgeList.h.

Member Data Documentation

◆ commGrid

template<typename IT>
std::shared_ptr<CommGrid> combblas::DistEdgeList< IT >::commGrid

Definition at line 99 of file DistEdgeList.h.


The documentation for this class was generated from the following files: