Performs a linear partition scheme of an SST simulation configuration. More...
#include <linpart.h>
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 SSTPartitioner * | allocate (int total_ranks, int my_rank, int verbosity) |
Protected Attributes | |
int | rankcount |
Number of ranks in the simulation. | |
Output * | partOutput |
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.") |
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.
SSTLinearPartition::SSTLinearPartition | ( | int | mpiRankCount, | |
int | verbosity | |||
) |
Creates a new linear partition scheme.
mpiRankCount | Number of MPI ranks in the simulation | |
verbosity | The level of information to output |
References partOutput, rankcount, and SST::Output::STDOUT.
void SSTLinearPartition::performPartition | ( | PartitionGraph * | graph | ) | [virtual] |
Performs a partition of an SST simulation configuration.
graph | The simulation configuration to partition |
Reimplemented from SST::Partition::SSTPartitioner.
References partOutput, rankcount, and SST::Output::verbose().