SST  15.1.0
StructuralSimulationToolkit
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. More...
 
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_tgetComponentMap ()
 Return the map of components.
 
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 (StatisticId_t) const
 
ConfigLinkMap_tgetLinkMap ()
 Return the map of links.
 
ConfigGraphsplitGraph (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 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
 
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>>()
 

Friends

class Simulation_impl
 
class SSTSDLModelDefinition
 

Additional Inherited Members

- 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()
 
- 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 SST::SparseVectorMap< keyT, classT >::insert(), SST::ConfigLink::latency, and SST::SparseVectorMap< keyT, classT >::size().


The documentation for this class was generated from the following files: