11 #ifndef SST_CORE_IMPL_PARTITONERS_SIMPLEPART_H
12 #define SST_CORE_IMPL_PARTITONERS_SIMPLEPART_H
16 #include "sst/core/sst_types.h"
17 #include "sst/core/sstpart.h"
19 #include "sst/core/eli/elementinfo.h"
20 #include "sst/core/configGraph.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 while balancing number of components per rank.")
41 RankInfo convertPartNum(uint32_t partNum) {
42 return RankInfo(partNum / world_size.thread, partNum % world_size.thread);
46 ComponentId_t* setA,
const int lengthA,
int rankA,
47 ComponentId_t* setB,
const int lengthB,
int rankB,
48 std::map<ComponentId_t, std::map<ComponentId_t, SimTime_t>*> timeTable,
62 bool requiresConfigGraph()
override {
return false; }
63 bool spawnOnAllRanks()
override {
return false; }
70 #endif //SST_CORE_IMPL_PARTITONERS_SIMPLERPART_H
Definition: configGraph.h:514
Definition: simplepart.h:26
A Configuration Graph A graph representing Components and Links.
Definition: configGraph.h:316
virtual void performPartition(PartitionGraph *UNUSED(graph))
Function to be overridden by subclasses.
Definition: sstpart.h:50
void performPartition(ConfigGraph *graph) override
Function to be overridden by subclasses.
Definition: simplepart.h:58
Definition: rankInfo.h:21
Base class for Partitioning graphs.
Definition: sstpart.h:32
void performPartition(PartitionGraph *graph) override
Function to be overridden by subclasses.
Definition: simplepart.cc:186