|
SST
6.1.0
StructuralSimulationToolkit
|
Performs a linear partition scheme of an SST simulation configuration. More...
#include <linpart.h>
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 SSTPartitioner * | allocate (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 SSTPartitioner * | getPartitioner (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. | |
| 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.") |
Additional Inherited Members | |
Public Types inherited from SST::Partition::SSTPartitioner | |
| typedef SSTPartitioner *(* | partitionerAlloc) (RankInfo total_ranks, RankInfo my_rank, int verbosity) |
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 | ( | RankInfo | rankCount, |
| int | verbosity | ||
| ) |
Creates a new linear partition scheme.
| mpiRankCount | Number of MPI ranks in the simulation |
| verbosity | The level of information to output |
References SST::Output::STDOUT.
|
virtual |
Performs a partition of an SST simulation configuration.
| graph | The simulation configuration to partition |
Reimplemented from SST::Partition::SSTPartitioner.