00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SST_CORE_PART_SELF
00014 #define SST_CORE_PART_SELF
00015
00016 #include <sst/core/part/sstpart.h>
00017
00018 using namespace SST;
00019 using namespace SST::Partition;
00020
00021 namespace SST {
00022 namespace Partition {
00023
00024
00025
00026
00027
00028
00029
00030
00031 class SSTSelfPartition : public SST::Partition::SSTPartitioner {
00032
00033 public:
00034
00035
00036
00037 SSTSelfPartition();
00038
00039
00040
00041
00042
00043 void performPartition(ConfigGraph* graph);
00044
00045 bool requiresConfigGraph() { return true; }
00046 bool spawnOnAllRanks() { return false; }
00047
00048 static SSTPartitioner* allocate(int total_ranks, int my_rank, int verbosity) {
00049 return new SSTSelfPartition();
00050 }
00051
00052 private:
00053 static bool initialized;
00054 };
00055
00056 }
00057 }
00058
00059 #endif