Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FennelP Class Reference

#include <GenericPartitioners.h>

Inheritance diagram for FennelP:
galois::graphs::CustomMasterAssignment galois::graphs::PartitioningScaffold

Public Member Functions

 FennelP (uint32_t hostID, uint32_t numHosts, uint64_t numNodes, uint64_t numEdges)
 
template<typename EdgeTy >
uint32_t getMaster (uint32_t src, galois::graphs::BufferedGraph< EdgeTy > &bufGraph, const std::vector< uint32_t > &localNodeToMaster, std::unordered_map< uint64_t, uint32_t > &gid2offsets, const std::vector< uint64_t > &nodeLoads, std::vector< galois::CopyableAtomic< uint64_t >> &nodeAccum, const std::vector< uint64_t > &edgeLoads, std::vector< galois::CopyableAtomic< uint64_t >> &edgeAccum)
 
uint32_t getEdgeOwner (uint32_t src, uint32_t, uint64_t) const
 
bool noCommunication ()
 
bool isVertexCut () const
 
void serializePartition (boost::archive::binary_oarchive &)
 
void deserializePartition (boost::archive::binary_iarchive &)
 
std::pair< unsigned, unsigned > cartesianGrid ()
 
- Public Member Functions inherited from galois::graphs::CustomMasterAssignment
 CustomMasterAssignment (uint32_t hostID, uint32_t numHosts, uint64_t numNodes, uint64_t numEdges)
 Calls parent constructor to initialize common data. More...
 
uint32_t retrieveMaster (uint32_t gid) const
 Retrieves a saved master mapping: does not fail if a GID mapping is not found but instead returns -1 if in stage 1, else fails. More...
 
void saveGID2HostInfo (std::unordered_map< uint64_t, uint32_t > &gid2offsets, std::vector< uint32_t > &localNodeToMaster, uint64_t nodeOffset)
 Given gid to master mapping info, save it into a local map. More...
 
bool masterAssignPhase () const
 Returns true as policies that inherit from this should define master assignment function. More...
 
void enterStage2 ()
 Shifts master assignment phase to stage 2. More...
 
template<typename EdgeTy >
uint32_t getMaster (uint32_t, galois::graphs::BufferedGraph< EdgeTy > &, const std::vector< uint32_t > &, std::unordered_map< uint64_t, uint32_t > &, const std::vector< uint64_t > &, std::vector< galois::CopyableAtomic< uint64_t >> &, const std::vector< uint64_t > &, std::vector< galois::CopyableAtomic< uint64_t >> &)
 CuSP's "getMaster" function. More...
 
bool addMasterMapping (uint32_t gid, uint32_t mappedMaster)
 Add a new master mapping to the local map: needs to be in stage 1. More...
 
- Public Member Functions inherited from galois::graphs::PartitioningScaffold
 PartitioningScaffold (uint32_t hostID, uint32_t numHosts, uint64_t numNodes, uint64_t numEdges)
 Constructor for Scaffold. More...
 
void saveGIDToHost (std::vector< std::pair< uint64_t, uint64_t >> &gid2host)
 Save a provided map from host to nodes a host has read into this object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from galois::graphs::CustomMasterAssignment
unsigned getHostReader (uint64_t gid) const
 Return the reader of a particular node. More...
 
- Protected Attributes inherited from galois::graphs::CustomMasterAssignment
char _status
 Specifies what phase of master assignment partitioner is on. More...
 
std::vector< uint32_t > _localNodeToMaster
 Metadata for determining where a node's master is. More...
 
std::unordered_map< uint64_t,
uint32_t > 
_gid2masters
 Map GID to its master. More...
 
uint64_t _nodeOffset
 This host's node offset (each host reads a distinct contiguous portion of graph. More...
 
- Protected Attributes inherited from galois::graphs::PartitioningScaffold
uint32_t _hostID
 host ID of owner of this object More...
 
uint32_t _numHosts
 total number of hosts More...
 
uint64_t _numNodes
 number of nodes in graph More...
 
uint64_t _numEdges
 number of edges in graph More...
 
std::vector< std::pair
< uint64_t, uint64_t > > 
_gid2host
 maps from host id to nodes that host as read from disk More...
 

Constructor & Destructor Documentation

FennelP::FennelP ( uint32_t  hostID,
uint32_t  numHosts,
uint64_t  numNodes,
uint64_t  numEdges 
)
inline

Member Function Documentation

std::pair<unsigned, unsigned> FennelP::cartesianGrid ( )
inline
void FennelP::deserializePartition ( boost::archive::binary_iarchive &  )
inline
uint32_t FennelP::getEdgeOwner ( uint32_t  src,
uint32_t  ,
uint64_t   
) const
inline
template<typename EdgeTy >
uint32_t FennelP::getMaster ( uint32_t  src,
galois::graphs::BufferedGraph< EdgeTy > &  bufGraph,
const std::vector< uint32_t > &  localNodeToMaster,
std::unordered_map< uint64_t, uint32_t > &  gid2offsets,
const std::vector< uint64_t > &  nodeLoads,
std::vector< galois::CopyableAtomic< uint64_t >> &  nodeAccum,
const std::vector< uint64_t > &  edgeLoads,
std::vector< galois::CopyableAtomic< uint64_t >> &  edgeAccum 
)
inline
bool FennelP::isVertexCut ( ) const
inline
bool FennelP::noCommunication ( )
inline
void FennelP::serializePartition ( boost::archive::binary_oarchive &  )
inline

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