14 #ifndef SST_CORE_MODEL_JSON_JSONMODEL_H 15 #define SST_CORE_MODEL_JSON_JSONMODEL_H 17 #include "sst/core/component.h" 18 #include "sst/core/config.h" 19 #include "sst/core/configGraph.h" 20 #include "sst/core/cputimer.h" 21 #include "sst/core/factory.h" 22 #include "sst/core/memuse.h" 23 #include "sst/core/model/sstmodel.h" 24 #include "sst/core/output.h" 25 #include "sst/core/rankInfo.h" 26 #include "sst/core/sst_types.h" 27 #include "sst/core/warnmacros.h" 29 #include "nlohmann/json.hpp" 37 using json = nlohmann::json;
45 SST_ELI_REGISTER_MODEL_DESCRIPTION(
49 SST_ELI_ELEMENT_VERSION(1,0,0),
50 "JSON model for building SST simulation graphs",
53 SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(
".json")
61 std::string scriptName;
65 ComponentId_t nextComponentId;
69 void recursiveSubcomponent(
ConfigComponent* Parent,
const nlohmann::basic_json<>& compArray);
70 void discoverProgramOptions(
const json& jFile);
71 void discoverComponents(
const json& jFile);
72 void discoverLinks(
const json& jFile);
73 void discoverGlobalParams(
const json& jFile);
74 ComponentId_t findComponentIdByName(
const std::string& Name);
80 #endif // SST_CORE_MODEL_JSON_JSONMODEL_H Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file...
Definition: output.h:53
ConfigGraph * createConfigGraph() override
Create the ConfigGraph.
Definition: jsonmodel.cc:298
Class to contain SST Simulation Configuration variables.
Definition: config.h:38
Represents the configuration of a generic component.
Definition: configGraph.h:217
A Configuration Graph A graph representing Components and Links.
Definition: configGraph.h:389
Definition: jsonmodel.h:42
Base class for Model Generation.
Definition: sstmodel.h:25