SST 12.1.0
Structural Simulation Toolkit
|
Performs a linear partition scheme of an SST simulation configuration. More...
#include <linpart.h>
Public Member Functions | |
SSTLinearPartition (RankInfo rankCount, RankInfo my_rank, int verbosity) | |
Creates a new linear partition scheme. More... | |
void | performPartition (PartitionGraph *graph) override |
Performs a partition of an SST simulation configuration. More... | |
bool | requiresConfigGraph () override |
bool | spawnOnAllRanks () override |
Public Member Functions inherited from SST::Partition::SSTPartitioner | |
virtual void | performPartition (PartitionGraph *UNUSED(graph)) |
Function to be overridden by subclasses. More... | |
virtual void | performPartition (ConfigGraph *UNUSED(graph)) |
Function to be overridden by subclasses. More... | |
virtual bool | requiresConfigGraph () |
virtual bool | spawnOnAllRanks () |
virtual void | performPartition (PartitionGraph *graph) |
Function to be overridden by subclasses. More... | |
virtual void | performPartition (ConfigGraph *graph) |
Function to be overridden by subclasses. More... | |
virtual bool | requiresConfigGraph () |
virtual bool | spawnOnAllRanks () |
Data Fields | |
SST_ELI_REGISTER_PARTITIONER(SSTLinearPartition, "sst", "linear", SST_ELI_ELEMENT_VERSION(1, 0, 0), "Partitions components by dividing Component ID space into roughly equal portions. " "Components with sequential IDs will be placed close together.") protected Output * | partOutput |
Number of ranks in the simulation. More... | |
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 partition scheme. For more aggressive partition schemes users should try the simple partitioner.
Creates a new linear partition scheme.
mpiRankCount | Number of MPI ranks in the simulation |
verbosity | The level of information to output |
References partOutput, and SST::Output::STDOUT.
|
overridevirtual |
Performs a partition of an SST simulation configuration.
graph | The simulation configuration to partition |
Reimplemented from SST::Partition::SSTPartitioner.
References SST::SparseVectorMap< keyT, classT >::begin(), SST::SparseVectorMap< keyT, classT >::end(), and partOutput.
|
inlineoverridevirtual |
Reimplemented from SST::Partition::SSTPartitioner.
|
inlineoverridevirtual |
Reimplemented from SST::Partition::SSTPartitioner.
SST_ELI_REGISTER_PARTITIONER ( SSTLinearPartition, "sst", "linear", SST_ELI_ELEMENT_VERSION(1,0,0), "Partitions components by dividing Component ID space into roughly equal portions. " "Components with sequential IDs will be placed close together.") protected Output* SST::IMPL::Partition::SSTLinearPartition::partOutput |
Number of ranks in the simulation.
Output object to print partitioning information
Referenced by performPartition(), and SSTLinearPartition().