12 #ifndef SST_CORE_CONFIG_H 13 #define SST_CORE_CONFIG_H 15 #include <sst/core/sst_types.h> 16 #include <sst/core/simulation.h> 17 #include <sst/core/rankInfo.h> 18 #include <sst/core/env/envquery.h> 19 #include <sst/core/env/envconfig.h> 21 #include <sst/core/serialization/serializable.h> 85 std::string event_dump_file;
89 typedef bool (
Config::*flagFunction)(void);
90 typedef bool (
Config::*argFunction)(
const std::string &arg);
94 bool incrVerbose() { verbose++;
return true;}
95 bool setVerbosity(
const std::string &arg);
96 bool disableSigHandlers() { enable_sig_handling =
false;
return true;}
97 bool disableEnvConfig() { no_env_config =
true;
return true;}
98 bool enablePrintTiming() { print_timing =
true;
return true;}
100 bool setConfigFile(
const std::string &arg);
101 bool setDebugFile(
const std::string &arg);
102 bool setLibPath(
const std::string &arg);
103 bool addLibPath(
const std::string &arg);
104 bool setRunMode(
const std::string &arg);
106 bool setStopAfter(
const std::string &arg);
107 bool setHeartbeat(
const std::string &arg);
108 bool setTimebase(
const std::string &arg);
109 bool setPartitioner(
const std::string &arg);
110 bool setGenerator(
const std::string &arg);
111 bool setGeneratorOptions(
const std::string &arg);
112 bool setOutputDir(
const std::string &arg);
113 bool setWriteConfig(
const std::string &arg);
114 bool setWriteDot(
const std::string &arg);
115 bool setWriteXML(
const std::string &arg);
116 bool setWriteJSON(
const std::string &arg);
117 bool setWritePartition(
const std::string &arg);
118 bool setOutputPrefix(
const std::string &arg);
120 bool setWriteUndeleted(
const std::string &arg);
122 bool setModelOptions(
const std::string &arg);
123 bool setNumThreads(
const std::string &arg);
130 std::cout <<
"debugFile = " << debugFile << std::endl;
131 std::cout <<
"runMode = " << runMode << std::endl;
132 std::cout <<
"libpath = " <<
getLibPath() << std::endl;
133 std::cout <<
"configFile = " << configFile << std::endl;
134 std::cout <<
"stopAtCycle = " << stopAtCycle << std::endl;
135 std::cout <<
"stopAfterSec = " << stopAfterSec << std::endl;
136 std::cout <<
"timeBase = " << timeBase << std::endl;
137 std::cout <<
"partitioner = " << partitioner << std::endl;
138 std::cout <<
"generator = " << generator << std::endl;
139 std::cout <<
"gen_options = " << generator_options << std::endl;
140 std::cout <<
"output_config_graph = " << output_config_graph << std::endl;
141 std::cout <<
"output_xml = " << output_xml << std::endl;
142 std::cout <<
"no_env_config = " << no_env_config << std::endl;
143 std::cout <<
"output_directory = " << output_directory << std::endl;
144 std::cout <<
"output_json = " << output_json << std::endl;
145 std::cout <<
"model_options = " << model_options << std::endl;
146 std::cout <<
"num_threads = " << world_size.thread << std::endl;
147 std::cout <<
"enable_sig_handling = " << enable_sig_handling << std::endl;
148 std::cout <<
"output_core_prefix = " << output_core_prefix << std::endl;
149 std::cout <<
"print_timing=" << print_timing << std::endl;
156 uint32_t getNumRanks() {
return world_size.rank; }
157 uint32_t getNumThreads() {
return world_size.thread; }
158 uint32_t setNumThreads(uint32_t nthr) {
159 uint32_t old = world_size.thread;
160 world_size.thread = nthr;
190 std::string run_name;
192 std::string addlLibPath;
197 bool isFileNameOnly(
const std::string name) {
198 bool nameOnly =
true;
200 for(
size_t i = 0; i < name.size(); ++i ) {
201 if(
'/' == name[i] ) {
215 #endif // SST_CORE_CONFIG_H RankInfo world_size
Definition: config.h:78
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
uint32_t stopAfterSec
Definition: config.h:63
std::string generator_options
Definition: config.h:68
std::string partitioner
Definition: config.h:66
Class to contain SST Simulation Configuration variables.
Definition: config.h:31
std::string heartbeatPeriod
Definition: config.h:64
std::string output_core_prefix
Definition: config.h:76
int parseCmdLine(int argc, char *argv[])
Parse command-line arguments to update configuration values.
Definition: config.cc:221
bool setConfigEntryFromModel(const std::string &entryName, const std::string &value)
Set a configuration string to update configuration values.
Definition: config.cc:325
Simulation::Mode_t runMode
Definition: config.h:60
std::string output_config_graph
Definition: config.h:69
uint32_t getVerboseLevel()
Return the current Verbosity level.
Definition: config.cc:512
std::string output_dot
Definition: config.h:70
Definition: serializable.h:109
void setTimeBase(std::string timeBase)
Sets the default timebase of the simulation.
uint32_t verbose
Definition: config.h:79
std::string timeBase
Definition: config.h:65
bool no_env_config
Definition: config.h:80
std::string model_options
Definition: config.h:74
std::string output_xml
Definition: config.h:71
std::string output_directory
Definition: config.h:73
Definition: rankInfo.h:21
std::string output_json
Definition: config.h:72
void print()
Print to stdout the current configuration.
Definition: config.h:129
bool printTimingInfo()
Print the SST core timing information.
Definition: config.cc:508
std::string debugFile
Definition: config.h:59
std::string generator
Definition: config.h:67
std::string dump_component_graph_file
Definition: config.h:75
std::string configFile
Definition: config.h:61
std::string getLibPath(void) const
Return the library search path.
Definition: config.cc:517
void setStopAt(std::string stopAtStr)
Set the cycle at which to stop the simulation.
std::string stopAtCycle
Definition: config.h:62
bool enable_sig_handling
Definition: config.h:81
Mode_t
Type of Run Modes.
Definition: simulation.h:75
void Print()
Print the current configuration to stdout.
bool print_timing
Definition: config.h:82