Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::graphs::GluonEdgeSubstrate< GraphTy > Class Template Reference

Gluon communication substrate that handles communication given a user graph. More...

#include <GluonEdgeSubstrate.h>

Inheritance diagram for galois::graphs::GluonEdgeSubstrate< GraphTy >:
galois::runtime::GlobalObject

Public Member Functions

 GluonEdgeSubstrate ()=delete
 Delete default constructor: this class NEEDS to have a graph passed into it. More...
 
 GluonEdgeSubstrate (GraphTy &_userGraph, unsigned host, unsigned numHosts, bool doNothing=false, DataCommMode _substrateDataMode=DataCommMode::noData)
 Constructor for GluonEdgeSubstrate. More...
 
template<typename SyncFnTy , typename BitsetFnTy = galois::InvalidBitsetFnTy, bool async = false>
void sync (std::string loopName)
 Main sync call exposed to the user that calls the correct sync function based on provided template arguments. More...
 
void set_num_run (const uint32_t runNum)
 Set the run number. More...
 
uint32_t get_run_num () const
 Get the set run number. More...
 
void set_num_round (const uint32_t round)
 Set the round number for use in the run identifier. More...
 
std::string get_run_identifier () const
 Get a run identifier using the set run and set round. More...
 
std::string get_run_identifier (std::string loop_name) const
 Get a run identifier using the set run and set round and append to the passed in string. More...
 
std::string get_run_identifier (std::string loop_name, unsigned alterID) const
 Get a run identifier using the set run and set round and append to the passed in string in addition to the number identifier passed in. More...
 

Additional Inherited Members

- Protected Member Functions inherited from galois::runtime::GlobalObject
 GlobalObject (const GlobalObject &)=delete
 
 GlobalObject (GlobalObject &&)=delete
 
template<typename T >
 GlobalObject (const T *ptr)
 Constructs a global object given a pointer to the object you want to make a global object. More...
 
uint32_t idForSelf () const
 Returns own global id. More...
 
- Static Protected Member Functions inherited from galois::runtime::GlobalObject
static uintptr_t ptrForObj (unsigned oid)
 Returns the pointer for a global object. More...
 

Detailed Description

template<typename GraphTy>
class galois::graphs::GluonEdgeSubstrate< GraphTy >

Gluon communication substrate that handles communication given a user graph.

User graph should provide certain things the substrate expects.

TODO documentation on expected things

Template Parameters
GraphTyUser graph to handle communication for

Constructor & Destructor Documentation

template<typename GraphTy >
galois::graphs::GluonEdgeSubstrate< GraphTy >::GluonEdgeSubstrate ( )
delete

Delete default constructor: this class NEEDS to have a graph passed into it.

template<typename GraphTy >
galois::graphs::GluonEdgeSubstrate< GraphTy >::GluonEdgeSubstrate ( GraphTy &  _userGraph,
unsigned  host,
unsigned  numHosts,
bool  doNothing = false,
DataCommMode  _substrateDataMode = DataCommMode::noData 
)
inline

Constructor for GluonEdgeSubstrate.

Initializes metadata fields.

Parameters
_userGraphGraph to build substrate on
hosthost number that this graph resides on
numHoststotal number of hosts in the currently executing program
doNothing
_substrateDataMode

Member Function Documentation

template<typename GraphTy >
std::string galois::graphs::GluonEdgeSubstrate< GraphTy >::get_run_identifier ( ) const
inline

Get a run identifier using the set run and set round.

Returns
a string run identifier
template<typename GraphTy >
std::string galois::graphs::GluonEdgeSubstrate< GraphTy >::get_run_identifier ( std::string  loop_name) const
inline

Get a run identifier using the set run and set round and append to the passed in string.

Parameters
loop_nameString to append the run identifier
Returns
String with run identifier appended to passed in loop name
template<typename GraphTy >
std::string galois::graphs::GluonEdgeSubstrate< GraphTy >::get_run_identifier ( std::string  loop_name,
unsigned  alterID 
) const
inline

Get a run identifier using the set run and set round and append to the passed in string in addition to the number identifier passed in.

Parameters
loop_nameString to append the run identifier
alterIDanother ID with which to add to the timer name.
Returns
String with run identifier appended to passed in loop name + alterID
template<typename GraphTy >
uint32_t galois::graphs::GluonEdgeSubstrate< GraphTy >::get_run_num ( ) const
inline

Get the set run number.

Returns
The set run number saved in the graph
template<typename GraphTy >
void galois::graphs::GluonEdgeSubstrate< GraphTy >::set_num_round ( const uint32_t  round)
inline

Set the round number for use in the run identifier.

Parameters
roundround number to set to
template<typename GraphTy >
void galois::graphs::GluonEdgeSubstrate< GraphTy >::set_num_run ( const uint32_t  runNum)
inline

Set the run number.

Parameters
runNumNumber to set the run to
template<typename GraphTy >
template<typename SyncFnTy , typename BitsetFnTy = galois::InvalidBitsetFnTy, bool async = false>
void galois::graphs::GluonEdgeSubstrate< GraphTy >::sync ( std::string  loopName)
inline

Main sync call exposed to the user that calls the correct sync function based on provided template arguments.

Must provide information through structures on how to do synchronization/which fields to synchronize.

Template Parameters
SyncFnTysync structure for the field
BitsetFnTystruct that has info on how to access the bitset
Parameters
loopNameused to name timers for statistics

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