SST 16.0.0
Structural Simulation Toolkit
SST::ConfigGraph Class Reference

A Configuration Graph A graph representing Components and Links. More...

#include <configGraph.h>

Inheritance diagram for SST::ConfigGraph:
SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base

Public Member Functions

void print (std::ostream &os) const
 Print the configuration graph.
size_t getNumComponents ()
size_t getNumComponentsInMPIRank (uint32_t rank)
void setComponentRanks (RankInfo rank)
 Helper function to set all the ranks to the same value.
bool containsComponentInRank (RankInfo rank)
 Checks to see if rank contains at least one component.
bool checkRanks (RankInfo ranks)
 Verify that all components have valid Ranks assigned.
ComponentId_t addComponent (const std::string &name, const std::string &type)
 Create a new component.
void addSharedParam (const std::string &shared_set, const std::string &key, const std::string &value)
 Add a parameter to a shared param set.
void addGlobalParam (const std::string &shared_set, const std::string &key, const std::string &value)
void setStatisticOutput (const std::string &name)
 Set the statistic output module.
void addStatisticOutputParameter (const std::string &param, const std::string &value)
 Add parameter to the statistic output module.
void setStatisticOutputParams (const Params &p)
 Set a set of parameter to the statistic output module.
void setStatisticLoadLevel (uint8_t loadLevel)
 Set the statistic system load level.
std::vector< ConfigStatOutput > & getStatOutputs ()
const ConfigStatOutputgetStatOutput (size_t index=0) const
long getStatLoadLevel () const
LinkId_t createLink (const char *name, const char *latency=nullptr)
 Create link and return it's ID.
void addLink (ComponentId_t comp_id, LinkId_t link_id, const char *port, const char *latency_str)
 Add a Link to a Component on a given Port.
void addNonLocalLink (LinkId_t link_id, int rank, int thread)
 Adds the remote rank info for nonlocal links.
void setLinkNoCut (LinkId_t link_name)
 Set a Link to be no-cut.
void postCreationCleanup ()
 Perform any post-creation cleanup processes.
bool checkForStructuralErrors ()
 Check the graph for Structural errors.
ConfigComponentMap_t & getComponentMap ()
 Return the map of components.
void getNonLocalLinks (std::vector< ConfigLink * > &vec)
void updateLinkId (ConfigLink *link, LinkId_t new_id)
void resortLinkMap ()
const std::map< std::string, ConfigStatGroup > & getStatGroups () const
ConfigStatGroupgetStatGroup (const std::string &name)
bool containsComponent (ComponentId_t id) const
ConfigComponentfindComponent (ComponentId_t)
ConfigComponentfindComponentByName (const std::string &name)
const ConfigComponentfindComponent (ComponentId_t) const
ConfigStatisticfindStatistic (ComponentId_t, StatisticId_t) const
ConfigLinkMap_t & getLinkMap ()
 Return the map of links.
ConfigGraph * splitGraph (const std::set< uint32_t > &orig_rank_set, const std::set< uint32_t > &new_rank_set)
void reduceGraphToSingleRank (uint32_t rank)
SimTime_t getMinimumPartitionLatency ()
PartitionGraphgetPartitionGraph ()
PartitionGraphgetCollapsedPartitionGraph ()
void annotateRanks (PartitionGraph *graph)
void getConnectedNoCutComps (ComponentId_t start, std::set< ComponentId_t > &group)
StatsConfiggetStatsConfig ()
StatsConfigtakeStatsConfig ()
void annotateCompRestartLocation (ComponentId_t cid, const std::string &filename, uint64_t offset)
void setComponentConfigGraphPointers ()
void serialize_order (SST::Core::Serialization::serializer &ser) override
void restoreRestartData ()
Public Member Functions inherited from SST::Core::Serialization::serializable_base
virtual const char * cls_name () const =0
virtual uint32_t cls_id () const =0
virtual std::string serialization_name () const =0

Data Fields

RankInfo cpt_ranks
SimTime_t cpt_currentSimCycle = 0
int cpt_currentPriority = 0
SimTime_t cpt_minPart = std::numeric_limits<SimTime_t>::max()
TimeConverter cpt_minPartTC
uint64_t cpt_max_event_id = 0
bool cpt_remap_partitions = false
bool cpt_repartition = false
std::string cpt_orig_configgraph
std::shared_ptr< std::set< std::string > > cpt_libnames = std::make_shared<std::set<std::string>>()
std::shared_ptr< std::vector< char > > cpt_shared_objects = std::make_shared<std::vector<char>>()
std::shared_ptr< std::vector< char > > cpt_stats_config = std::make_shared<std::vector<char>>()

Static Public Attributes

static bool serialize_for_checkpoint = false
Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
Static Public Attributes inherited from SST::Core::Serialization::serializable_base
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()

Friends

class Simulation

Additional Inherited Members

Protected Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)

Detailed Description

A Configuration Graph A graph representing Components and Links.

Member Function Documentation

◆ createLink()

LinkId_t SST::ConfigGraph::createLink ( const char * name,
const char * latency = nullptr )

Create link and return it's ID.

The provided name is not checked against existing links

References createLink(), and SST::ConfigLink::latency_.

Referenced by createLink().

◆ serialize_order()

void SST::ConfigGraph::serialize_order ( SST::Core::Serialization::serializer & ser)
inlineoverridevirtual

The documentation for this class was generated from the following files:
  • src/sst/core/model/configGraph.h
  • src/sst/core/model/configGraph.cc