|  | 
|  | 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 |