COMBINATORIAL_BLAS  1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends
DistEdgeList< IT > Class Template Reference

#include <DistEdgeList.h>

List of all members.

Public Member Functions

 DistEdgeList ()
 DistEdgeList (const char *filename, IT globaln, IT globalm)
 ~DistEdgeList ()
void Dump64bit (string filename)
void Dump32bit (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

Friends

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

Detailed Description

template<typename IT>
class DistEdgeList< IT >

Definition at line 80 of file DistEdgeList.h.


Constructor & Destructor Documentation

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

Definition at line 48 of file DistEdgeList.cpp.

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

Definition at line 54 of file DistEdgeList.cpp.

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

Definition at line 150 of file DistEdgeList.cpp.


Member Function Documentation

template<typename IT >
void 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 178 of file DistEdgeList.cpp.

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

Definition at line 121 of file DistEdgeList.cpp.

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

Definition at line 98 of file DistEdgeList.cpp.

template<typename IT >
void 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 211 of file DistEdgeList.cpp.

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

Definition at line 93 of file DistEdgeList.h.

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

Definition at line 94 of file DistEdgeList.h.


Friends And Related Function Documentation

template<typename IT>
template<typename IU >
void PermEdges ( DistEdgeList< IU > &  DEL)
friend
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 348 of file DistEdgeList.cpp.

template<typename IT>
friend class SpParMat
friend

Definition at line 116 of file DistEdgeList.h.


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