|
| GluonSubstrate ()=delete |
| Delete default constructor: this class NEEDS to have a graph passed into it. More...
|
|
| GluonSubstrate (GraphTy &_userGraph, unsigned host, unsigned numHosts, bool _transposed, std::pair< unsigned, unsigned > _cartesianGrid=std::make_pair(0u, 0u), bool _partitionAgnostic=false, DataCommMode _enforcedDataMode=DataCommMode::noData) |
| Constructor for GluonSubstrate. More...
|
|
template<WriteLocation writeLocation, ReadLocation readLocation, 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...
|
|
template<ReadLocation readLocation, typename SyncFnTy , typename BitsetFnTy = galois::InvalidBitsetFnTy> |
void | syncOnDemand (galois::runtime::FieldFlags &fieldFlags, std::string loopName) |
| Given a structure that contains flags signifying what needs to be synchronized, syncOnDemand will synchronize what is necessary based on the read location of the * field. 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...
|
|
template<typename FnTy > |
void | reset_mirrorField () |
| Given a sync structure, reset the field specified by the structure to the 0 of the reduction on mirrors. More...
|
|
template<typename GraphTy>
class galois::graphs::GluonSubstrate< 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
-
GraphTy | User graph to handle communication for |
template<typename GraphTy >
template<WriteLocation writeLocation, ReadLocation readLocation, typename SyncFnTy , typename BitsetFnTy = galois::InvalidBitsetFnTy, bool async = false>
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
-
writeLocation | Location data is written (src or dst) |
readLocation | Location data is read (src or dst) |
SyncFnTy | sync structure for the field |
BitsetFnTy | struct that has info on how to access the bitset |
- Parameters
-
loopName | used to name timers for statistics |
template<typename GraphTy >
template<ReadLocation readLocation, typename SyncFnTy , typename BitsetFnTy = galois::InvalidBitsetFnTy>
Given a structure that contains flags signifying what needs to be synchronized, syncOnDemand will synchronize what is necessary based on the read location of the * field.
- Template Parameters
-
readLocation | Location in which field will need to be read |
SyncFnTy | sync structure for the field |
BitsetFnTy | struct which holds a bitset which can be used to control synchronization at a more fine grain level |
- Parameters
-
fieldFlags | structure for field you are syncing |
loopName | Name of loop this sync is for for naming timers |