|
SST 16.1.0
Structural Simulation Toolkit
|
A Configuration Graph A graph representing Components and Links. More...
#include <configGraph.h>
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 ¶m, 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 ConfigStatOutput & | getStatOutput (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 |
| ConfigStatGroup * | getStatGroup (const std::string &name) |
| bool | containsComponent (ComponentId_t id) const |
| ConfigComponent * | findComponent (ComponentId_t) |
| ConfigComponent * | findComponentByName (const std::string &name) |
| const ConfigComponent * | findComponent (ComponentId_t) const |
| ConfigStatistic * | findStatistic (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 () |
| PartitionGraph * | getPartitionGraph () |
| PartitionGraph * | getCollapsedPartitionGraph () |
| void | annotateRanks (PartitionGraph *graph) |
| void | getConnectedNoCutComps (ComponentId_t start, std::set< ComponentId_t > &group) |
| StatsConfig * | getStatsConfig () |
| StatsConfig * | takeStatsConfig () |
| 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) |
A Configuration Graph A graph representing Components and Links.
| ComponentId_t SST::ConfigGraph::addComponent | ( | const std::string & | name, |
| const std::string & | type ) |
| void SST::ConfigGraph::addGlobalParam | ( | const std::string & | shared_set, |
| const std::string & | key, | ||
| const std::string & | value ) |
References addLink(), addNonLocalLink(), addStatisticOutputParameter(), checkForStructuralErrors(), createLink(), postCreationCleanup(), setLinkNoCut(), setStatisticLoadLevel(), setStatisticOutput(), and setStatisticOutputParams().
| void SST::ConfigGraph::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.
References addLink(), SST::ConfigLink::component_, SST::ConfigLink::id_, SST::ConfigLink::latency_, SST::ConfigLink::name_, SST::ConfigLink::nonlocal_, and SST::ConfigLink::port_.
Referenced by addGlobalParam(), and addLink().
| void SST::ConfigGraph::addNonLocalLink | ( | LinkId_t | link_id, |
| int | rank, | ||
| int | thread ) |
Adds the remote rank info for nonlocal links.
References addNonLocalLink(), SST::ConfigLink::component_, SST::ConfigLink::latency_, SST::ConfigLink::name_, and SST::ConfigLink::nonlocal_.
Referenced by addGlobalParam(), and addNonLocalLink().
| void SST::ConfigGraph::addSharedParam | ( | const std::string & | shared_set, |
| const std::string & | key, | ||
| const std::string & | value ) |
| void SST::ConfigGraph::addStatisticOutputParameter | ( | const std::string & | param, |
| const std::string & | value ) |
Add parameter to the statistic output module.
References addStatisticOutputParameter(), and SST::Params::insert().
Referenced by addGlobalParam(), and addStatisticOutputParameter().
| bool SST::ConfigGraph::checkForStructuralErrors | ( | ) |
Check the graph for Structural errors.
References checkForStructuralErrors(), SST::ConfigComponent::checkPorts(), SST::ConfigLink::component_, SST::ConfigLink::name_, and SST::ConfigLink::nonlocal_.
Referenced by addGlobalParam(), and checkForStructuralErrors().
| bool SST::ConfigGraph::checkRanks | ( | RankInfo | ranks | ) |
Verify that all components have valid Ranks assigned.
References checkRanks(), and SST::RankInfo::inRange().
Referenced by checkRanks().
| bool SST::ConfigGraph::containsComponentInRank | ( | RankInfo | rank | ) |
Checks to see if rank contains at least one component.
References containsComponentInRank().
Referenced by containsComponentInRank().
| 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 addGlobalParam(), and createLink().
|
inline |
Return the map of components.
Referenced by SST::Core::DotConfigGraphOutput::generate(), SST::Core::PythonConfigGraphOutput::generate(), SST::Core::XMLConfigGraphOutput::generate(), SST::IMPL::Partition::SSTSinglePartition::performPartition(), and SST::Simulation::processGraphInfo().
|
inline |
Return the map of links.
Referenced by SST::ConfigComponent::checkPorts(), SST::Core::DotConfigGraphOutput::generate(), SST::Core::XMLConfigGraphOutput::generate(), postCreationCleanup(), and SST::Simulation::processGraphInfo().
| void SST::ConfigGraph::postCreationCleanup | ( | ) |
Perform any post-creation cleanup processes.
References getLinkMap(), and postCreationCleanup().
Referenced by addGlobalParam(), and postCreationCleanup().
|
inlineoverridevirtual |
Implements SST::Core::Serialization::serializable_base.
| void SST::ConfigGraph::setComponentRanks | ( | RankInfo | rank | ) |
Helper function to set all the ranks to the same value.
References setComponentRanks().
Referenced by setComponentRanks().
| void SST::ConfigGraph::setLinkNoCut | ( | LinkId_t | link_name | ) |
Set a Link to be no-cut.
References setLinkNoCut().
Referenced by addGlobalParam(), and setLinkNoCut().
| void SST::ConfigGraph::setStatisticLoadLevel | ( | uint8_t | loadLevel | ) |
Set the statistic system load level.
References setStatisticLoadLevel().
Referenced by addGlobalParam(), and setStatisticLoadLevel().
| void SST::ConfigGraph::setStatisticOutput | ( | const std::string & | name | ) |
Set the statistic output module.
References setStatisticOutput().
Referenced by addGlobalParam(), and setStatisticOutput().
| void SST::ConfigGraph::setStatisticOutputParams | ( | const Params & | p | ) |
Set a set of parameter to the statistic output module.
References setStatisticOutputParams().
Referenced by addGlobalParam(), and setStatisticOutputParams().