SST 12.1.0
Structural Simulation Toolkit
SST::ConfigComponent Class Reference

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

#include <configGraph.h>

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

Public Member Functions

const ComponentId_t & key () const
 
void print (std::ostream &os) const
 Print Component information.
 
ConfigComponentcloneWithoutLinks (ConfigGraph *new_graph) const
 
ConfigComponentcloneWithoutLinksOrParams (ConfigGraph *new_graph) const
 
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 addGlobalParamSet (const std::string &set)
 
std::vector< std::string > getParamsLocalKeys () const
 
std::vector< std::string > getSubscribedGlobalParamSets () const
 
std::vector< LinkId_t > allLinks () const
 
std::vector< LinkId_t > clearAllLinks ()
 
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
virtual const char * cls_name () const =0
 
virtual void serialize_order (serializer &ser)=0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Data Fields

ComponentId_t id
 
ConfigGraphgraph
 
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, StatisticId_t > enabledStatNames
 
bool enabledAllStats
 
ConfigStatistic allStatConfig
 
std::vector< ConfigComponent * > subComponents
 
std::vector< double > coords
 
uint16_t nextSubID
 
uint16_t nextStatID
 
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()
 

Friends

class ComponentInfo
 
class ConfigGraph
 

Additional Inherited Members

- Protected Types inherited from SST::Core::Serialization::serializable
enum  cxn_flag_t { ConstructorFlag }
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
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

◆ serialize_order()

void SST::ConfigComponent::serialize_order ( SST::Core::Serialization::serializer ser)
inlineoverridevirtual

Field Documentation

◆ graph

ConfigGraph* SST::ConfigComponent::graph

Graph that this component belongs to

Referenced by checkPorts().

◆ id

ComponentId_t SST::ConfigComponent::id

Unique ID of this component

◆ links

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

List of links connected

Referenced by SST::ConfigGraph::addLink(), checkPorts(), and print().

◆ name

std::string SST::ConfigComponent::name

Name of this component, or slot name for subcomp

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

◆ nextStatID

uint16_t SST::ConfigComponent::nextStatID

Next statID to use for children

◆ nextSubID

uint16_t SST::ConfigComponent::nextSubID

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

◆ null_id

constexpr 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 print().

◆ rank

RankInfo SST::ConfigComponent::rank

Parallel Rank for this component

Referenced by print().

◆ slot_num

int SST::ConfigComponent::slot_num

Slot number. Only valid for subcomponents

Referenced by print().

◆ statLoadLevel

uint8_t SST::ConfigComponent::statLoadLevel

Statistic load level for this component

Referenced by print().

◆ subComponents

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

List of subcomponents

Referenced by checkPorts(), and print().

◆ type

std::string SST::ConfigComponent::type

Type of this component

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

◆ weight

float SST::ConfigComponent::weight

Partitioning weight for this component

Referenced by print().


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