SST 12.1.0
Structural Simulation Toolkit
SST::Config Class Reference

Class to contain SST Simulation Configuration variables. More...

#include <config.h>

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

Public Member Functions

 ~Config ()
 Create a new Config object. More...
 
uint32_t verbose () const
 Level of verbosity to use in the core prints using Output.verbose or Output.debug.
 
uint32_t num_threads () const
 Number of threads requested.
 
uint32_t num_ranks () const
 Number of ranks in the simulation.
 
const std::string & configFile () const
 Name of the SDL file to use to genearte the simulation.
 
const std::string & model_options () const
 Model options to pass to the SDL file.
 
bool print_timing () const
 Print SST timing information after the run.
 
const std::string & stop_at () const
 Simulated cycle to stop the simulation at.
 
uint32_t exit_after () const
 Wall clock time (approximiate) in seconds to stop the simulation at.
 
const std::string & partitioner () const
 Partitioner to use for parallel simualations.
 
const std::string & heartbeatPeriod () const
 Simulation period at which to print out a "heartbeat" message.
 
const std::string & output_directory () const
 The directory to be used for writting output files.
 
const std::string output_core_prefix () const
 Prefix to use for the default SST::Output object in core.
 
const std::string & output_config_graph () const
 File to output python formatted config graph to (empty string means no output)
 
const std::string & output_json () const
 File to output json formatted config graph to (empty string means no output)
 
bool parallel_output () const
 If true, and a config graph output option is specified, write each ranks graph separately.
 
const std::string & output_dot () const
 File to output dot formatted config graph to (empty string means no output). More...
 
uint32_t dot_verbosity () const
 Level of verbosity to use for the dot output.
 
const std::string & component_partition_file () const
 File to output component partition info to (empty string means no output)
 
bool output_partition () const
 Controls whether partition info is output as part of configuration output.
 
const std::string & timeBase () const
 Core timebase to use as the atomic time unit for the simulation. More...
 
bool parallel_load () const
 Controls whether graph constuction will be done in parallel. More...
 
bool parallel_load_mode_multi () const
 If graph constuction will be done in parallel, will use a file per rank if true, and the same file for each rank if false.
 
std::string parallel_load_str () const
 Retruns the string equivalent for parallel-load: NONE (if parallel load is off), SINGLE or MULTI.
 
const std::string & timeVortex () const
 TimeVortex implementation to use.
 
bool interthread_links () const
 Use links that connect directly to ActivityQueue in receiving thread.
 
const std::string & debugFile () const
 File to which core debug information should be written.
 
const std::string & libpath () const
 Library path to use for finding element libraries (will replace the libpath in the sstsimulator.conf file)
 
const std::string & addLibPath () const
 Paths to add to library search (adds to libpath found in sstsimulator.conf file)
 
const std::string & enabledProfiling () const
 Profiling points to turn on.
 
const std::string & profilingOutput () const
 Profiling points to turn on.
 
Simulation::Mode_t runMode () const
 Run mode to use (Init, Both, Run-only). More...
 
std::string runMode_str () const
 Get string version of runmode.
 
bool rank_seq_startup () const
 Run simulation initialization stages one rank at a time for debug purposes.
 
bool print_env () const
 Controls whether the environment variables that SST sees are printed out.
 
bool enable_sig_handling () const
 Controls whether signal handlers are enable or not. More...
 
bool no_env_config () const
 
void print ()
 Print to stdout the current configuration.
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
ImplementSerializable(SST::Config) private bool isFileNameOnly (const std::string &name)
 
- 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

uint32_t verbose_
 
RankInfo world_size_
 
std::string configFile_
 
std::string model_options_
 
bool print_timing_
 
std::string stop_at_
 
uint32_t exit_after_
 
std::string partitioner_
 
std::string heartbeatPeriod_
 
std::string output_directory_
 
std::string output_core_prefix_
 
std::string output_config_graph_
 
std::string output_json_
 
bool parallel_output_
 
std::string output_dot_
 
uint32_t dot_verbosity_
 
std::string component_partition_file_
 
bool output_partition_
 
std::string timeBase_
 
bool parallel_load_
 
bool parallel_load_mode_multi_
 
std::string timeVortex_
 
bool interthread_links_
 
std::string debugFile_
 
std::string libpath_
 
std::string addLibPath_
 
std::string enabled_profiling_
 
std::string profiling_output_
 
Simulation::Mode_t runMode_
 
bool rank_seq_startup_
 
bool print_env_
 
bool enable_sig_handling_
 
bool no_env_config_
 

Friends

class ConfigHelper
 
class SSTModelDescription
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- 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

Class to contain SST Simulation Configuration variables.

Constructor & Destructor Documentation

◆ ~Config()

SST::Config::~Config ( )
inline

Create a new Config object.

Parameters
world_size- number of parallel ranks in the simulation

Member Function Documentation

◆ enable_sig_handling()

bool SST::Config::enable_sig_handling ( ) const
inline

Controls whether signal handlers are enable or not.

NOTE: the sense of this variable is opposite of the command line option (–disable-signal-handlers)

References enable_sig_handling_.

◆ output_dot()

const std::string & SST::Config::output_dot ( ) const
inline

File to output dot formatted config graph to (empty string means no output).

Note, this is not a format that can be used as input for simulation

References output_dot_.

◆ parallel_load()

bool SST::Config::parallel_load ( ) const
inline

Controls whether graph constuction will be done in parallel.

If it is, then the SDL file name is modified to add the rank number to the file name right before the file extension, if parallel_load_mode_multi is true.

References parallel_load_.

◆ runMode()

Simulation::Mode_t SST::Config::runMode ( ) const
inline

Run mode to use (Init, Both, Run-only).

Note that Run-only is not currently supported because there is not component level checkpointing.

References runMode_.

◆ serialize_order()

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

◆ timeBase()

const std::string & SST::Config::timeBase ( ) const
inline

Core timebase to use as the atomic time unit for the simulation.

It is usually best to just leave this at the default (1ps)

References timeBase_.

Field Documentation

◆ component_partition_file_

std::string SST::Config::component_partition_file_

File to dump component graph

Referenced by component_partition_file(), and print().

◆ configFile_

std::string SST::Config::configFile_

Graph generation file

Referenced by configFile(), and print().

◆ debugFile_

std::string SST::Config::debugFile_

File to which debug information should be written

Referenced by debugFile(), and print().

◆ dot_verbosity_

uint32_t SST::Config::dot_verbosity_

Amount of detail to include in the dot graph output

Referenced by dot_verbosity(), and print().

◆ enable_sig_handling_

bool SST::Config::enable_sig_handling_

Enable signal handling

Referenced by enable_sig_handling(), and print().

◆ enabled_profiling_

std::string SST::Config::enabled_profiling_

Enabled default profiling points

Referenced by enabledProfiling(), and print().

◆ exit_after_

uint32_t SST::Config::exit_after_

When (wall-time) to stop the simulation

Referenced by exit_after(), and print().

◆ heartbeatPeriod_

std::string SST::Config::heartbeatPeriod_

Sets the heartbeat period for the simulation

Referenced by heartbeatPeriod(), and print().

◆ interthread_links_

bool SST::Config::interthread_links_

Use interthread links

Referenced by interthread_links(), and print().

◆ model_options_

std::string SST::Config::model_options_

Options to pass to Python Model generator

Referenced by model_options(), and print().

◆ no_env_config_

bool SST::Config::no_env_config_

Bypass compile-time environmental configuration

Referenced by print().

◆ output_config_graph_

std::string SST::Config::output_config_graph_

File to dump configuration graph

Referenced by output_config_graph(), and print().

◆ output_core_prefix_

std::string SST::Config::output_core_prefix_

Set the SST::Output prefix for the core

Referenced by output_core_prefix(), and print().

◆ output_directory_

std::string SST::Config::output_directory_

Output directory to dump all files to

Referenced by output_directory(), and print().

◆ output_dot_

std::string SST::Config::output_dot_

File to dump dot output

Referenced by output_dot(), and print().

◆ output_json_

std::string SST::Config::output_json_

File to dump JSON output

Referenced by output_json(), and print().

◆ output_partition_

bool SST::Config::output_partition_

Output paritition info when writing config output

Referenced by output_partition(), and print().

◆ parallel_load_

bool SST::Config::parallel_load_

Load simulation graph in parallel

Referenced by parallel_load(), parallel_load_str(), and print().

◆ parallel_load_mode_multi_

bool SST::Config::parallel_load_mode_multi_

If true, load using multiple files

Referenced by parallel_load_mode_multi(), and parallel_load_str().

◆ parallel_output_

bool SST::Config::parallel_output_

Output simulation graph in parallel

Referenced by parallel_output(), and print().

◆ partitioner_

std::string SST::Config::partitioner_

Partitioner to use

Referenced by partitioner(), and print().

◆ print_env_

bool SST::Config::print_env_

Print SST environment

Referenced by print(), and print_env().

◆ print_timing_

bool SST::Config::print_timing_

Print SST timing information

Referenced by print(), and print_timing().

◆ profiling_output_

std::string SST::Config::profiling_output_

Location to write profiling data

Referenced by print(), and profilingOutput().

◆ rank_seq_startup_

bool SST::Config::rank_seq_startup_

Run simulation initialization phases one rank at a time

Referenced by print(), and rank_seq_startup().

◆ runMode_

Simulation::Mode_t SST::Config::runMode_

Run Mode (Init, Both, Run-only)

Referenced by print(), runMode(), and runMode_str().

◆ stop_at_

std::string SST::Config::stop_at_

When to stop the simulation

Referenced by print(), and stop_at().

◆ timeBase_

std::string SST::Config::timeBase_

Timebase of simulation

Referenced by print(), and timeBase().

◆ timeVortex_

std::string SST::Config::timeVortex_

TimeVortex implementation to use

Referenced by print(), and timeVortex().

◆ verbose_

uint32_t SST::Config::verbose_

Verbosity

Referenced by print(), and verbose().

◆ world_size_

RankInfo SST::Config::world_size_

Number of ranks, threads which should be invoked per rank

Referenced by num_ranks(), num_threads(), and print().


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