Base class for Partitioning graphs. More...
#include <sstpart.h>
Public Types | |
typedef SSTPartitioner *(* | partitionerAlloc )(int total_ranks, int my_rank, int verbosity) |
Public Member Functions | |
virtual void | performPartition (PartitionGraph *graph) |
Function to be overriden by subclasses. | |
virtual void | performPartition (ConfigGraph *graph) |
Function to be overriden by subclasses. | |
virtual bool | requiresConfigGraph () |
virtual bool | spawnOnAllRanks () |
Static Public Member Functions | |
static bool | addPartitioner (const std::string name, const SSTPartitioner::partitionerAlloc alloc, const std::string description) |
static SSTPartitioner * | getPartitioner (std::string name, int total_ranks, int my_rank, int verbosity) |
static const std::map < std::string, std::string > & | getDescriptionMap () |
Base class for Partitioning graphs.
virtual void SST::Partition::SSTPartitioner::performPartition | ( | ConfigGraph * | graph | ) | [inline, virtual] |
Function to be overriden by subclasses.
Performs the partitioning of the Graph using the ConfigGraph object. The consequence of using ConfigGraphs is that no-cut links are not supported.
Result of this function is that every ConfigComponent in graph has a Rank applied to it.
Reimplemented in SST::Partition::SSTSelfPartition.
virtual void SST::Partition::SSTPartitioner::performPartition | ( | PartitionGraph * | graph | ) | [inline, virtual] |
Function to be overriden by subclasses.
Performs the partitioning of the Graph using the PartitionGraph object.
Result of this function is that every ConfigComponent in graph has a Rank applied to it.
Reimplemented in SST::Partition::SSTLinearPartition, SST::Partition::SSTRoundRobinPartition, SST::Partition::SimplePartitioner, and SST::Partition::SSTSinglePartition.