SST 16.0.0
Structural Simulation Toolkit
SST::ConfigComponent Class Reference

Represents the configuration of a generic component. More...

#include <configComponent.h>

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

Public Member Functions

const ComponentId_t & key () const
void print (std::ostream &os) const
 Print Component information.
void setConfigGraphPointer (ConfigGraph *graph_ptr)
StatisticId_t getNextStatisticID ()
ConfigComponentgetParent () const
std::string getFullName () const
void setRank (RankInfo r)
void setWeight (double w)
void setCoordinates (const std::vector< double > &c)
void addParameter (const std::string &key, const std::string &value, bool overwrite)
ConfigComponentaddSubComponent (const std::string &name, const std::string &type, int slot)
ConfigComponentfindSubComponent (ComponentId_t)
const ConfigComponentfindSubComponent (ComponentId_t) const
ConfigComponentfindSubComponentByName (const std::string &name)
ConfigStatisticfindStatistic (const std::string &name) const
ConfigStatisticinsertStatistic (StatisticId_t id)
ConfigStatisticfindStatistic (StatisticId_t) const
ConfigStatisticenableStatistic (const std::string &statisticName, const SST::Params &params, bool recursively=false)
ConfigStatisticcreateStatistic ()
bool reuseStatistic (const std::string &statisticName, StatisticId_t sid)
void addStatisticParameter (const std::string &statisticName, const std::string &param, const std::string &value, bool recursively=false)
void setStatisticParameters (const std::string &statisticName, const Params &params, bool recursively=false)
void setStatisticLoadLevel (uint8_t level, bool recursively=false)
void addSharedParamSet (const std::string &set)
void addGlobalParamSet (const std::string &set)
std::vector< std::string > getParamsLocalKeys () const
std::vector< std::string > getSubscribedSharedParamSets () const
std::vector< std::string > getSubscribedGlobalParamSets () const
size_t addPortModule (const std::string &port, const std::string &type, const Params &params)
 Adds a PortModule on the port 'port' of the associated component.
std::vector< LinkId_t > allLinks () const
std::vector< LinkId_t > clearAllLinks ()
 Gets all the links to return, then clears links from self and all subcomponents.
void replaceLinkId (LinkId_t old_id, LinkId_t new_id)
 Update a Link that has had its ID changed.
void serialize_order (SST::Core::Serialization::serializer &ser) override
ImplementSerializable(SST::ConfigComponent) private ComponentId_t getNextSubComponentID ()
void checkPorts () const
 Checks to make sure port names are valid and that a port isn't used twice.
 ConfigComponent (ComponentId_t id, ConfigGraph *graph, const std::string &name, const std::string &type, float weight, RankInfo rank)
 Create a new Component.
 ConfigComponent (ComponentId_t id, ConfigGraph *graph, uint16_t parent_subid, const std::string &name, int slot_num, const std::string &type, float weight, RankInfo rank)
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

ComponentId_t id
ConfigGraph * graph
std::string name
int slot_num
std::string type
float weight
RankInfo rank
std::vector< LinkId_t > links
Params params
uint8_t statLoadLevel
std::map< std::string, std::vector< ConfigPortModule > > port_modules
std::map< std::string, StatisticId_t > enabledStatNames
bool enabledAllStats
ConfigStatistic allStatConfig
std::vector< ConfigComponent * > subComponents
std::vector< double > coords
uint16_t nextSubID
uint64_t next_stat_id = 1
bool visited

Static Public Attributes

static constexpr ComponentId_t null_id = std::numeric_limits<ComponentId_t>::max()
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 ComponentInfo
class ConfigGraph

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

Represents the configuration of a generic component.

Member Function Documentation

◆ addPortModule()

size_t SST::ConfigComponent::addPortModule ( const std::string & port,
const std::string & type,
const Params & params )

Adds a PortModule on the port 'port' of the associated component.

Returns the index of the module in the component's vector of PortModules for the given port.

References params, port_modules, and type.

◆ clearAllLinks()

std::vector< LinkId_t > SST::ConfigComponent::clearAllLinks ( )

Gets all the links to return, then clears links from self and all subcomponents.

Used when splitting graphs.

References links, and subComponents.

◆ replaceLinkId()

void SST::ConfigComponent::replaceLinkId ( LinkId_t old_id,
LinkId_t new_id )

Update a Link that has had its ID changed.

Parameters
old_idOld id to replace
new_idNew id to use

References links.

◆ serialize_order()

void SST::ConfigComponent::serialize_order ( SST::Core::Serialization::serializer & ser)
overridevirtual

Field Documentation

◆ allStatConfig

ConfigStatistic SST::ConfigComponent::allStatConfig

If all stats are enabled, the config information for the stats

Referenced by print().

◆ enabledAllStats

bool SST::ConfigComponent::enabledAllStats

Whether all stats in this (sub)component have been enabled

Referenced by ConfigComponent(), and print().

◆ enabledStatNames

std::map<std::string, StatisticId_t> SST::ConfigComponent::enabledStatNames

Map of explicitly enabled statistic names to unique IDs

Referenced by print().

◆ graph

ConfigGraph* SST::ConfigComponent::graph

Graph that this component belongs to

Referenced by checkPorts(), and ConfigComponent().

◆ id

ComponentId_t SST::ConfigComponent::id

Unique ID of this component

Referenced by ConfigComponent().

◆ links

std::vector<LinkId_t> SST::ConfigComponent::links

List of links connected

Referenced by checkPorts(), clearAllLinks(), print(), and replaceLinkId().

◆ name

std::string SST::ConfigComponent::name

Name of this component, or slot name for subcomp

Referenced by checkPorts(), ConfigComponent(), print(), and SST::ConfigStatGroup::verifyStatsAndComponents().

◆ next_stat_id

uint64_t SST::ConfigComponent::next_stat_id = 1

Next statID to use

◆ nextSubID

uint16_t SST::ConfigComponent::nextSubID

Next subID to use for children, if component, if subcomponent, subid of parent

Referenced by ConfigComponent().

◆ null_id

ComponentId_t SST::ConfigComponent::null_id = std::numeric_limits<ComponentId_t>::max()
staticconstexpr

Used when traversing graph to indicate component was visited already

◆ params

Params SST::ConfigComponent::params

Set of Parameters

Referenced by addPortModule(), and print().

◆ port_modules

std::map<std::string, std::vector<ConfigPortModule> > SST::ConfigComponent::port_modules

Map of port names to port modules loaded on that port

Referenced by addPortModule().

◆ rank

RankInfo SST::ConfigComponent::rank

Parallel Rank for this component

Referenced by ConfigComponent(), and print().

◆ slot_num

int SST::ConfigComponent::slot_num

Slot number. Only valid for subcomponents

Referenced by ConfigComponent(), and print().

◆ statLoadLevel

uint8_t SST::ConfigComponent::statLoadLevel

Statistic load level for this component

Referenced by ConfigComponent(), and print().

◆ subComponents

std::vector<ConfigComponent*> SST::ConfigComponent::subComponents

List of subcomponents

Referenced by checkPorts(), clearAllLinks(), and print().

◆ type

std::string SST::ConfigComponent::type

◆ weight

float SST::ConfigComponent::weight

Partitioning weight for this component

Referenced by ConfigComponent(), and print().


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