SST 12.1.0
Structural Simulation Toolkit
singlepart.h
1// Copyright 2009-2022 NTESS. Under the terms
2// of Contract DE-NA0003525 with NTESS, the U.S.
3// Government retains certain rights in this software.
4//
5// Copyright (c) 2009-2022, NTESS
6// All rights reserved.
7//
8// This file is part of the SST software package. For license
9// information, see the LICENSE file in the top level directory of the
10// distribution.
11
12#ifndef SST_CORE_IMPL_PARTITONERS_SINGLEPART_H
13#define SST_CORE_IMPL_PARTITONERS_SINGLEPART_H
14
15#include "sst/core/eli/elementinfo.h"
16#include "sst/core/sstpart.h"
17
18namespace SST {
19namespace IMPL {
20namespace Partition {
21
22/**
23 Single partitioner is a virtual partitioner used for serial jobs.
24 It simply ensures that all components are assigned to rank 0.
25*/
27{
28
29public:
32 "sst",
33 "single",
34 SST_ELI_ELEMENT_VERSION(1,0,0),
35 "Allocates all components to rank 0. Automatically selected for serial jobs.")
36
37 /**
38 Creates a new single partition scheme.
39 */
40 SSTSinglePartition(RankInfo total_ranks, RankInfo my_rank, int verbosity);
41
42 /**
43 Performs a partition of an SST simulation configuration
44 \param graph The simulation configuration to partition
45 */
46 void performPartition(ConfigGraph* graph) override;
47
48 bool requiresConfigGraph() override { return true; }
49 bool spawnOnAllRanks() override { return false; }
50};
51
52} // namespace Partition
53} // namespace IMPL
54} // namespace SST
55
56#endif
A Configuration Graph A graph representing Components and Links.
Definition: configGraph.h:390
Single partitioner is a virtual partitioner used for serial jobs.
Definition: singlepart.h:27
SST_ELI_REGISTER_PARTITIONER(SSTSinglePartition, "sst", "single", SST_ELI_ELEMENT_VERSION(1, 0, 0), "Allocates all components to rank 0. Automatically selected for serial jobs.") SSTSinglePartition(RankInfo total_ranks
Creates a new single partition scheme.
void performPartition(ConfigGraph *graph) override
Performs a partition of an SST simulation configuration.
Definition: singlepart.cc:26
Base class for Partitioning graphs.
Definition: sstpart.h:32
Definition: rankInfo.h:22