45 SST_ELI_REGISTER_MODEL_DESCRIPTION(
49 SST_ELI_ELEMENT_VERSION(1,0,0),
50 "Python model for building SST simulation graphs",
53 SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(
".py")
64 void initModel(
const std::string& script_file,
int verbosity,
Config* config,
int argc,
char** argv);
65 std::string scriptName;
71 std::vector<size_t> nameStack;
72 std::map<std::string, ComponentId_t> compNameMap;
73 ComponentId_t nextComponentId;
75 bool callPythonFinalize;
76 bool enablePythonCoverage =
false;
79 Config* getConfig()
const {
return config; }
81 bool setConfigEntryFromModel(
const std::string& entryName,
const std::string& value)
88 Output* getOutput()
const {
return output; }
90 ComponentId_t getNextComponentId() {
return nextComponentId++; }
92 ComponentId_t addComponent(
const char* name,
const char* type)
94 auto id = graph->addComponent(name, type);
100 return graph->findComponentByName(std::string(name));
103 ConfigComponentMap_t& components() {
return graph->getComponentMap(); }
105 LinkId_t createLink(
const char* link_name,
const char* latency) {
return graph->createLink(link_name, latency); }
107 void addLink(ComponentId_t
id, LinkId_t link_id,
const char* port,
const char* latency)
const
109 graph->addLink(
id, link_id, port, latency);
112 void addNonLocalLink(LinkId_t link_id,
int rank,
int thread)
const
114 graph->addNonLocalLink(link_id, rank, thread);
117 void setLinkNoCut(LinkId_t link_id)
const { graph->setLinkNoCut(link_id); }
119 void pushNamePrefix(
const char* name);
120 void popNamePrefix();
121 char* addNamePrefix(
const char* name)
const;
123 void setStatisticOutput(
const char* Name) { graph->setStatisticOutput(Name); }
124 void addStatisticOutputParameter(
const std::string& param,
const std::string& value)
126 graph->addStatisticOutputParameter(param, value);
128 void setStatisticLoadLevel(uint8_t loadLevel) { graph->setStatisticLoadLevel(loadLevel); }
130 void addGlobalParameter(
const char* set,
const char* key,
const char* value,
bool overwrite)
138 void setCallPythonFinalize(
bool state) { callPythonFinalize = state; }
147 SST_ELI_REGISTER_MODEL_DESCRIPTION(
151 SST_ELI_ELEMENT_VERSION(1,0,0),
152 "XML model for building SST simulation graphs",
155 SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(
".xml",
".sdl")
159 SSTModelDescription(config)
175 SSTPythonModelDefinition* actual_model_;
183PyObject* buildEnabledStatistics(
ConfigComponent* cc, PyObject* statList, PyObject* paramDict,
bool apply_to_children);
void insertGlobalParameter(const std::string &set, const Params::key_type &key, const Params::key_type &value, bool overwrite=true)
Allows ModelDefinition to set global parameters.
Definition sstmodel.cc:41
bool setOptionFromModel(const std::string &entryName, const std::string &value)
Set a configuration string to update configuration values.
Definition sstmodel.cc:29