SST  6.0.0
StructuralSimulationToolkit
SST::Partition::SSTLinearPartition Class Reference

Performs a linear partition scheme of an SST simulation configuration. More...

#include <linpart.h>

Inheritance diagram for SST::Partition::SSTLinearPartition:
SST::Partition::SSTPartitioner

Public Member Functions

 SSTLinearPartition (RankInfo rankCount, int verbosity)
 Creates a new linear partition scheme. More...
 
void performPartition (PartitionGraph *graph)
 Performs a partition of an SST simulation configuration. More...
 
bool requiresConfigGraph ()
 
bool spawnOnAllRanks ()
 
- Public Member Functions inherited from SST::Partition::SSTPartitioner
virtual void performPartition (ConfigGraph *graph)
 Function to be overriden by subclasses. More...
 

Static Public Member Functions

static SSTPartitionerallocate (RankInfo total_ranks, RankInfo my_rank, int verbosity)
 
- Static Public Member Functions inherited from SST::Partition::SSTPartitioner
static bool addPartitioner (const std::string name, const SSTPartitioner::partitionerAlloc alloc, const std::string description)
 
static SSTPartitionergetPartitioner (std::string name, RankInfo total_ranks, RankInfo my_rank, int verbosity)
 
static const std::map< std::string, std::string > & getDescriptionMap ()
 

Protected Attributes

RankInfo rankcount
 Number of ranks in the simulation.
 
OutputpartOutput
 Output object to print partitioning information.
 

Static Protected Attributes

static bool initialized = SSTPartitioner::addPartitioner("linear",&SSTLinearPartition::allocate, "Partitions components by dividing Component ID space into roughly equal portions. Components with sequential IDs will be placed close together.")
 

Additional Inherited Members

- Public Types inherited from SST::Partition::SSTPartitioner
typedef SSTPartitioner *(* partitionerAlloc) (RankInfo total_ranks, RankInfo my_rank, int verbosity)
 

Detailed Description

Performs a linear partition scheme of an SST simulation configuration.

In this scheme a list of components (supplied as a graph) are grouped by slicing the list into approximately equal parts. A "part" is generated for each MPI rank performing the simulation. This means Components with sequential ids will be placed close together. In general this scheme provides a very effective partition for most parallel simulations which generate man similar components of interest close together in the input Python configuration. It is also very fast to compute a linear partiton scheme. For more aggressive partition schemes users should try either a simple or Zoltan-based partitioner.

Constructor & Destructor Documentation

SSTLinearPartition::SSTLinearPartition ( RankInfo  rankCount,
int  verbosity 
)

Creates a new linear partition scheme.

Parameters
mpiRankCountNumber of MPI ranks in the simulation
verbosityThe level of information to output

References SST::Output::STDOUT.

Member Function Documentation

void SSTLinearPartition::performPartition ( PartitionGraph graph)
virtual

Performs a partition of an SST simulation configuration.

Parameters
graphThe simulation configuration to partition

Reimplemented from SST::Partition::SSTPartitioner.


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