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"
37using json = nlohmann::json;
44 SST_ELI_REGISTER_MODEL_DESCRIPTION(
48 SST_ELI_ELEMENT_VERSION(1,0,0),
49 "JSON model for building SST simulation graphs",
52 SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(
".json")
60 std::string scriptName;
64 ComponentId_t nextComponentId;
68 void setStatGroupOptions(
const json& jFile);
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 discoverSharedParams(
const json& jFile);
74 void discoverStatistics(
const json& jFile);
75 ComponentId_t findComponentIdByName(
const std::string& Name);
Represents the configuration of a generic component.
Definition configGraph.h:263
A Configuration Graph A graph representing Components and Links.
Definition configGraph.h:450
Class to contain SST Simulation Configuration variables.
Definition config.h:41
Definition jsonmodel.h:42
ConfigGraph * createConfigGraph() override
Create the ConfigGraph.
Definition jsonmodel.cc:506
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:54