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 (int mpiRankCount, int verbosity)
 Creates a new linear partition scheme.
void performPartition (PartitionGraph *graph)
 Performs a partition of an SST simulation configuration.
bool requiresConfigGraph ()
bool spawnOnAllRanks ()

Static Public Member Functions

static SSTPartitionerallocate (int total_ranks, int my_rank, int verbosity)

Protected Attributes

int 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.")

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 ( int  mpiRankCount,
int  verbosity 
)

Creates a new linear partition scheme.

Parameters:
mpiRankCount Number of MPI ranks in the simulation
verbosity The level of information to output

References partOutput, rankcount, and SST::Output::STDOUT.


Member Function Documentation

void SSTLinearPartition::performPartition ( PartitionGraph graph  )  [virtual]

Performs a partition of an SST simulation configuration.

Parameters:
graph The simulation configuration to partition

Reimplemented from SST::Partition::SSTPartitioner.

References partOutput, rankcount, and SST::Output::verbose().


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

Generated on 14 Sep 2015 for SST by  doxygen 1.6.1