12#ifndef SST_CORE_CONFIG_H
13#define SST_CORE_CONFIG_H
15#include "sst/core/simulation.h"
20extern int main(
int argc,
char** argv);
25class SSTModelDescription;
33 friend int ::main(
int argc,
char** argv);
56 int parseCmdLine(
int argc,
char* argv[]);
63 bool checkConfigFile();
68 std::string getLibPath(
void)
const;
73 bool setOptionFromModel(
const std::string& entryName,
const std::string& value);
252 const std::string&
libpath()
const {
return libpath_; }
258 const std::string&
addLibPath()
const {
return addLibPath_; }
305 const std::string& event_dump_file()
const {
return event_dump_file_; }
383 std::string run_name;
385 bool isFileNameOnly(
const std::string& name)
387 bool nameOnly =
true;
389 for (
size_t i = 0; i < name.size(); ++i ) {
390 if (
'/' == name[i] ) {
438 std::string libpath_;
439 std::string addLibPath_;
448 std::string event_dump_file_;
Class to contain SST Simulation Configuration variables.
Definition: config.h:30
const std::string & output_json() const
File to output json formatted config graph to (empty string means no output)
Definition: config.h:165
const std::string & output_directory() const
The directory to be used for writting output files.
Definition: config.h:146
const std::string & timeVortex() const
TimeVortex implementation to use.
Definition: config.h:236
const std::string & heartbeatPeriod() const
Simulation period at which to print out a "heartbeat" message.
Definition: config.h:141
const std::string & configFile() const
Name of the SDL file to use to genearte the simulation.
Definition: config.h:111
std::string enabled_profiling_
Definition: config.h:442
uint32_t dot_verbosity() const
Level of verbosity to use for the dot output.
Definition: config.h:186
uint32_t verbose_
Definition: config.h:407
bool rank_seq_startup() const
Run simulation initialization stages one rank at a time for debug purposes.
Definition: config.h:312
bool print_timing() const
Print SST timing information after the run.
Definition: config.h:121
bool interthread_links() const
Use links that connect directly to ActivityQueue in receiving thread.
Definition: config.h:241
bool output_partition() const
Controls whether partition info is output as part of configuration output.
Definition: config.h:196
uint32_t exit_after() const
Wall clock time (approximiate) in seconds to stop the simulation at.
Definition: config.h:131
bool print_env_
Definition: config.h:453
std::string output_directory_
Definition: config.h:417
uint32_t exit_after_
Definition: config.h:414
std::string timeVortex_
Definition: config.h:435
Simulation::Mode_t runMode() const
Run mode to use (Init, Both, Run-only).
Definition: config.h:279
~Config()
Create a new Config object.
Definition: config.h:80
const std::string & component_partition_file() const
File to output component partition info to (empty string means no output)
Definition: config.h:191
uint32_t num_threads() const
Number of threads requested.
Definition: config.h:101
std::string output_dot_
Definition: config.h:426
bool rank_seq_startup_
Definition: config.h:450
bool print_env() const
Controls whether the environment variables that SST sees are printed out.
Definition: config.h:320
std::string heartbeatPeriod_
Definition: config.h:416
const std::string & timeBase() const
Core timebase to use as the atomic time unit for the simulation.
Definition: config.h:205
std::string output_json_
Definition: config.h:422
uint32_t dot_verbosity_
Definition: config.h:427
std::string model_options_
Definition: config.h:411
bool enable_sig_handling_
Definition: config.h:454
std::string configFile_
Definition: config.h:410
const std::string & enabledProfiling() const
Profiling points to turn on.
Definition: config.h:265
RankInfo world_size_
Definition: config.h:409
uint32_t verbose() const
Level of verbosity to use in the core prints using Output.verbose or Output.debug.
Definition: config.h:95
const std::string & partitioner() const
Partitioner to use for parallel simualations.
Definition: config.h:136
bool interthread_links_
Definition: config.h:436
bool enable_sig_handling() const
Controls whether signal handlers are enable or not.
Definition: config.h:327
uint32_t num_ranks() const
Number of ranks in the simulation.
Definition: config.h:106
std::string stop_at_
Definition: config.h:413
std::string partitioner_
Definition: config.h:415
const std::string & addLibPath() const
Paths to add to library search (adds to libpath found in sstsimulator.conf file)
Definition: config.h:258
std::string parallel_load_str() const
Retruns the string equivalent for parallel-load: NONE (if parallel load is off), SINGLE or MULTI.
Definition: config.h:226
std::string output_core_prefix_
Definition: config.h:418
bool output_partition_
Definition: config.h:429
bool parallel_output() const
If true, and a config graph output option is specified, write each ranks graph separately.
Definition: config.h:171
bool parallel_load_mode_multi_
Definition: config.h:434
std::string runMode_str() const
Get string version of runmode.
Definition: config.h:284
const std::string & profilingOutput() const
Profiling points to turn on.
Definition: config.h:270
const std::string & model_options() const
Model options to pass to the SDL file.
Definition: config.h:116
const std::string & output_config_graph() const
File to output python formatted config graph to (empty string means no output)
Definition: config.h:159
const std::string & stop_at() const
Simulated cycle to stop the simulation at.
Definition: config.h:126
std::string profiling_output_
Definition: config.h:443
bool parallel_load_
Definition: config.h:433
void print()
Print to stdout the current configuration.
Definition: config.cc:545
bool parallel_load() const
Controls whether graph constuction will be done in parallel.
Definition: config.h:213
const std::string & output_dot() const
File to output dot formatted config graph to (empty string means no output).
Definition: config.h:181
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 fo...
Definition: config.h:220
std::string timeBase_
Definition: config.h:432
const std::string & libpath() const
Library path to use for finding element libraries (will replace the libpath in the sstsimulator....
Definition: config.h:252
std::string component_partition_file_
Definition: config.h:428
std::string debugFile_
Definition: config.h:437
std::string output_config_graph_
Definition: config.h:421
Simulation::Mode_t runMode_
Definition: config.h:446
const std::string output_core_prefix() const
Prefix to use for the default SST::Output object in core.
Definition: config.h:151
bool print_timing_
Definition: config.h:412
const std::string & debugFile() const
File to which core debug information should be written.
Definition: config.h:246
bool parallel_output_
Definition: config.h:423
bool no_env_config_
Definition: config.h:455
Definition: serializable.h:119
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
Definition: rankInfo.h:22
Base class for Model Generation.
Definition: sstmodel.h:26
Mode_t
Type of Run Modes.
Definition: simulation.h:38
@ INIT
Definition: simulation.h:40
@ RUN
Definition: simulation.h:41
@ BOTH
Definition: simulation.h:42
@ UNKNOWN
Definition: simulation.h:39