12 #ifndef SST_CORE_CONFIG_H
13 #define SST_CORE_CONFIG_H
15 #include "sst/core/simulation.h"
20 extern int main(
int argc,
char** argv);
25 class 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);
95 uint32_t
verbose()
const {
return verbose_; }
111 const std::string&
configFile()
const {
return configFile_; }
126 const std::string&
stop_at()
const {
return stop_at_; }
181 const std::string&
output_dot()
const {
return output_dot_; }
205 const std::string&
timeBase()
const {
return timeBase_; }
225 const std::string&
timeVortex()
const {
return timeVortex_; }
235 const std::string&
debugFile()
const {
return debugFile_; }
241 const std::string&
libpath()
const {
return libpath_; }
247 const std::string&
addLibPath()
const {
return addLibPath_; }
264 const std::string& event_dump_file()
const {
return event_dump_file_; }
291 bool no_env_config()
const {
return no_env_config_; }
307 ser& heartbeatPeriod_;
308 ser& output_directory_;
309 ser& output_core_prefix_;
311 ser& output_config_graph_;
313 ser& parallel_output_;
317 ser& component_partition_file_;
318 ser& output_partition_;
322 ser& parallel_load_mode_multi_;
324 ser& interthread_links_;
331 ser& enable_sig_handling_;
340 std::
string run_name;
342 bool isFileNameOnly(const std::
string& name)
344 bool nameOnly =
true;
346 for (
size_t i = 0; i < name.size(); ++i ) {
347 if (
'/' == name[i] ) {
366 RankInfo world_size_;
367 std::string configFile_;
368 std::string model_options_;
370 std::string stop_at_;
371 uint32_t exit_after_;
372 std::string partitioner_;
373 std::string heartbeatPeriod_;
374 std::string output_directory_;
375 std::string output_core_prefix_;
378 std::string output_config_graph_;
379 std::string output_json_;
380 bool parallel_output_;
383 std::string output_dot_;
384 uint32_t dot_verbosity_;
385 std::string component_partition_file_;
386 bool output_partition_;
389 std::string timeBase_;
391 bool parallel_load_mode_multi_;
392 std::string timeVortex_;
393 bool interthread_links_;
394 std::string debugFile_;
395 std::string libpath_;
396 std::string addLibPath_;
401 std::string event_dump_file_;
403 bool rank_seq_startup_;
407 bool enable_sig_handling_;
413 #endif // SST_CORE_CONFIG_H
bool interthread_links() const
Use links that connect directly to ActivityQueue in receiving thread.
Definition: config.h:230
const std::string & configFile() const
Name of the SDL file to use to genearte the simulation.
Definition: config.h:111
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:34
const std::string & output_directory() const
The directory to be used for writting output files.
Definition: config.h:146
const std::string & stop_at() const
Simulated cycle to stop the simulation at.
Definition: config.h:126
Class to contain SST Simulation Configuration variables.
Definition: config.h:29
const std::string & partitioner() const
Partitioner to use for parallel simualations.
Definition: config.h:136
bool parallel_output() const
If true, and a config graph output option is specified, write each ranks graph separately.
Definition: config.h:171
bool enable_sig_handling() const
Controls whether signal handlers are enable or not.
Definition: config.h:286
const std::string & heartbeatPeriod() const
Simulation period at which to print out a "heartbeat" message.
Definition: config.h:141
const std::string & output_json() const
File to output json formatted config graph to (empty string means no output)
Definition: config.h:165
Definition: serializable.h:118
const std::string & addLibPath() const
Paths to add to library search (adds to libpath found in sstsimulator.conf file)
Definition: config.h:247
const std::string & output_dot() const
File to output dot formatted config graph to (empty string means no output).
Definition: config.h:181
const std::string & libpath() const
Library path to use for finding element libraries (will replace the libpath in the sstsimulator...
Definition: config.h:241
const std::string & timeVortex() const
TimeVortex implementation to use.
Definition: config.h:225
Definition: rankInfo.h:21
~Config()
Create a new Config object.
Definition: config.h:80
uint32_t verbose() const
Level of verbosity to use in the core prints using Output.verbose or Output.debug.
Definition: config.h:95
void print()
Print to stdout the current configuration.
Definition: config.cc:527
const std::string & debugFile() const
File to which core debug information should be written.
Definition: config.h:235
const std::string & component_partition_file() const
File to output component partition info to (empty string means no output)
Definition: config.h:191
Simulation::Mode_t runMode() const
Run mode to use (Init, Both, Run-only).
Definition: config.h:256
bool print_env() const
Controls whether the environment variables that SST sees are printed out.
Definition: config.h:279
bool output_partition() const
Controls whether partition info is output as part of configuration output.
Definition: config.h:196
bool print_timing() const
Print SST timing information after the run.
Definition: config.h:121
uint32_t exit_after() const
Wall clock time (approximiate) in seconds to stop the simulation at.
Definition: config.h:131
const std::string output_core_prefix() const
Prefix to use for the default SST::Output object in core.
Definition: config.h:151
Base class for Model Generation.
Definition: sstmodel.h:25
const std::string & model_options() const
Model options to pass to the SDL file.
Definition: config.h:116
uint32_t num_ranks() const
Number of ranks in the simulation.
Definition: config.h:106
uint32_t num_threads() const
Number of threads requested.
Definition: config.h:101
uint32_t dot_verbosity() const
Level of verbosity to use for the dot output.
Definition: config.h:186
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
Mode_t
Type of Run Modes.
Definition: simulation.h:38
const std::string & timeBase() const
Core timebase to use as the atomic time unit for the simulation.
Definition: config.h:205
bool rank_seq_startup() const
Run simulation initialization stages one rank at a time for debug purposes.
Definition: config.h:271
const std::string & output_config_graph() const
File to output python formatted config graph to (empty string means no output)
Definition: config.h:159
bool parallel_load() const
Controls whether graph constuction will be done in parallel.
Definition: config.h:213