12 #ifndef SST_CORE_IMPL_PARTITONERS_SIMPLEPART_H 13 #define SST_CORE_IMPL_PARTITONERS_SIMPLEPART_H 15 #include "sst/core/configGraph.h" 16 #include "sst/core/eli/elementinfo.h" 17 #include "sst/core/sst_types.h" 18 #include "sst/core/sstpart.h" 30 SST_ELI_REGISTER_PARTITIONER(
34 SST_ELI_ELEMENT_VERSION(1,0,0),
35 "Simple partitioning scheme which attempts to partition on high latency links " 36 "while balancing number of components per rank.")
42 RankInfo convertPartNum(uint32_t partNum)
44 return RankInfo(partNum / world_size.thread, partNum % world_size.thread);
47 void simple_partition_step(
49 const int lengthB,
int rankB, std::map<ComponentId_t, std::map<ComponentId_t, SimTime_t>*> timeTable,
int step);
58 bool requiresConfigGraph()
override {
return false; }
59 bool spawnOnAllRanks()
override {
return false; }
65 #endif // SST_CORE_IMPL_PARTITONERS_SIMPLERPART_H Definition: configGraph.h:618
Definition: simplepart.h:26
Definition: rankInfo.h:21
Base class for Partitioning graphs.
Definition: sstpart.h:31
void performPartition(PartitionGraph *graph) override
Function to be overridden by subclasses.
Definition: simplepart.cc:183
Class that stores data in a vector, but can access the data similar to a map.
Definition: sparseVectorMap.h:43