Skip to content

Commit 38ebfca

Browse files
committed
Parameter changes and homogenoeus heterogeneous config generation
1 parent b7ace70 commit 38ebfca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+102
-704
lines changed

examples/sdk-SrcSink-Fanout/Config-a/Config-a.cc

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ UserParameters cfg_parameters;
44

55
ConfigParameter<int, uint32_t>::ParametersMap UserParameters::homogeneous_config() {
66
return {
7-
{"Main.Source.iterations", ConfigParameterMetadata<int> { 0 } }
7+
{"Main.Source.iterations", ConfigParameterMetadata<int> { 5 } }
88
};
99
}
1010

@@ -14,10 +14,4 @@ ConfigParameter<int, uint32_t>::ParametersMap UserParameters::heterogeneous_conf
1414
{"Main.Sink.n_ports", ConfigParameterMetadata<int> { 2 } }
1515

1616
};
17-
}
18-
19-
// UserParameters::filter_out () {
20-
// if (cfg_map["T0.P0.L1.n_ervers"] != cfg_map["T0.P0.L2.n_ervers"]) {
21-
22-
// }
23-
// }
17+
}

examples/sdk-SrcSink-Fanout/Config-a/Config-a.hh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ struct UserParameters : public ConfigParameter<int, uint32_t> {
1313
ConfigParameter<int, uint32_t>::ParametersMap heterogeneous_config();
1414
};
1515

16-
// using ParametersMap = std::map<std::string, SystemParameterMetadata<std::variant<SystemParameterMetadata<ParameterValueType>...>>>;
17-
1816
extern UserParameters cfg_parameters;
1917

2018
#endif // USER_PARAMETERS_H

examples/sdk-SrcSink-Fanout/Main/MainReactor.hh

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,12 @@ using namespace sdk;
99

1010
class MainReactor: public Reactor {
1111
public:
12-
struct Parameters : public SystemParameter<string, int> {
13-
ParameterMetadata<string> alias = ParameterMetadata<string> {
14-
.name = "alias",
15-
.description = "Alternate name",
16-
.min_value = "another",
17-
.max_value = "another",
18-
.value = "another"
19-
};
20-
21-
ParameterMetadata<int> log_level = ParameterMetadata<int> {
22-
.name = "log_level",
23-
.description = "Log level",
24-
.min_value = 0,
25-
.max_value = 1,
26-
.value = 1
27-
};
12+
struct Parameters : public SystemParameter<string> {
13+
REACTOR_PARAMETER (string, alias, "Alternate name", "another", "another", "Src-Sink-Fanout-Example");
2814

2915
Parameters(Reactor *container)
30-
: SystemParameter<string, int>(container) {
31-
register_parameters (alias, log_level);
16+
: SystemParameter<string>(container) {
17+
register_parameters (alias);
3218
}
3319
};
3420

examples/sdk-SrcSink-Fanout/Sink/SinkReactor.hh

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,8 @@ using namespace sdk;
77
class SinkReactor : public Reactor {
88
public:
99
struct Parameters : public SystemParameter<string, int> {
10-
ParameterMetadata<string> name = ParameterMetadata<string> {
11-
.name = "Name",
12-
.description = "Alternate name",
13-
.min_value = "Sink",
14-
.max_value = "Sink",
15-
.value = "Sink"
16-
};
17-
18-
ParameterMetadata<int> n_ports = ParameterMetadata<int> {
19-
.name = "n_ports",
20-
.description = "Size of multiports",
21-
.min_value = 1,
22-
.max_value = 10,
23-
.value = 1
24-
};
10+
REACTOR_PARAMETER (string, name, "Alternate name", "Sink", "Sink", "Sink");
11+
REACTOR_PARAMETER (int, n_ports, "Size of multiports", 1, 10, 1);
2512

2613
Parameters(Reactor *container)
2714
: SystemParameter<string, int>(container) {

examples/sdk-SrcSink-Fanout/Source/SourceReactor.hh

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,7 @@ using namespace sdk;
77
class SourceReactor : public Reactor {
88
public:
99
struct Parameters : public SystemParameter<int> {
10-
11-
ParameterMetadata<int> iterations = ParameterMetadata<int> {
12-
.name = "iterations",
13-
.description = "Number of iterations",
14-
.min_value = 1,
15-
.max_value = 100,
16-
.value = 10
17-
};
10+
REACTOR_PARAMETER (int, iterations, "Number of iterations", 1, 100, 10);
1811

1912
Parameters(Reactor *container)
2013
: SystemParameter<int>(container) {

examples/sdk-SrcSink-Fanout/main.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ int main(int argc, char **argv) {
1313
unsigned workers = std::thread::hardware_concurrency();
1414
bool fast{false};
1515
reactor::Duration timeout = reactor::Duration::max();
16-
bool visualize{false};
16+
bool cfg_gen{false};
1717

1818
// the timeout variable needs to be tested beyond fitting the Duration-type
1919
options
@@ -22,7 +22,7 @@ int main(int argc, char **argv) {
2222
("w,workers", "the number of worker threads used by the scheduler", cxxopts::value<unsigned>(workers)->default_value(std::to_string(workers)), "'unsigned'")
2323
("o,timeout", "Time after which the execution is aborted.", cxxopts::value<reactor::Duration>(timeout)->default_value(time_to_string(timeout)), "'FLOAT UNIT'")
2424
("f,fast", "Allow logical time to run faster than physical time.", cxxopts::value<bool>(fast)->default_value("false"))
25-
("v,visualize", "Generate graph.dot file of the topology.", cxxopts::value<bool>(visualize)->default_value("false"))
25+
("c,config-gen", "Generate configuration files for the topology.", cxxopts::value<bool>(cfg_gen)->default_value("false"))
2626
("help", "Print help");
2727

2828
cxxopts::ParseResult result{};
@@ -41,9 +41,9 @@ int main(int argc, char **argv) {
4141
return parse_error ? -1 : 0;
4242
}
4343

44-
std::cout << "parameters - workers:" << workers << " fast:" << (fast ? "True" : "False") << " timeout:" << timeout << " visualize:" << (visualize ? "True" : "False") << std::endl;
44+
std::cout << "parameters - workers:" << workers << " fast:" << (fast ? "True" : "False") << " timeout:" << timeout << " cfg_gen:" << (cfg_gen ? "True" : "False") << std::endl;
4545

46-
Environment sim {&cfg_parameters, workers, fast, timeout, visualize};
46+
Environment sim {&cfg_parameters, workers, fast, timeout, cfg_gen};
4747
auto main = new MainReactor("Main", &sim);
4848

4949
sim.run();

examples/sdk-SrcSink/Config-a/Config-a.cc

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ UserParameters cfg_parameters;
44

55
ConfigParameter<int, uint32_t>::ParametersMap UserParameters::homogeneous_config() {
66
return {
7-
{"Main.Source.iterations", ConfigParameterMetadata<int> { 0 } }
7+
{"Main.Source.iterations", ConfigParameterMetadata<int> { 5 } }
88
};
99
}
1010

@@ -16,9 +16,3 @@ ConfigParameter<int, uint32_t>::ParametersMap UserParameters::heterogeneous_conf
1616

1717
};
1818
}
19-
20-
// UserParameters::filter_out () {
21-
// if (cfg_map["T0.P0.L1.n_ervers"] != cfg_map["T0.P0.L2.n_ervers"]) {
22-
23-
// }
24-
// }

examples/sdk-SrcSink/Config-a/Config-a.hh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ struct UserParameters : public ConfigParameter<int, uint32_t> {
1313
ConfigParameter<int, uint32_t>::ParametersMap heterogeneous_config();
1414
};
1515

16-
// using ParametersMap = std::map<std::string, SystemParameterMetadata<std::variant<SystemParameterMetadata<ParameterValueType>...>>>;
17-
1816
extern UserParameters cfg_parameters;
1917

2018
#endif // USER_PARAMETERS_H

examples/sdk-SrcSink/Main/MainReactor.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ void MainReactor::construction() {
66

77
src = std::make_unique<SourceReactor>("Source", this);
88

9-
for (int __lf_idx = 0; __lf_idx < parameters.n_sinks.value; __lf_idx++) {
10-
std::string __lf_inst_name = "Sink_" + std::to_string(__lf_idx);
11-
snk.emplace_back(std::make_unique<SinkReactor>(__lf_inst_name, this));
9+
for (int i = 0; i < parameters.n_sinks.value; i++) {
10+
snk.create_reactor();
1211
}
1312
}
1413

examples/sdk-SrcSink/Main/MainReactor.hh

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,20 @@ using namespace sdk;
1010
class MainReactor: public Reactor {
1111
public:
1212
struct Parameters : public SystemParameter<string, int> {
13-
ParameterMetadata<string> alias = ParameterMetadata<string> {
14-
.name = "alias",
15-
.description = "Alternate name",
16-
.min_value = "another",
17-
.max_value = "another",
18-
.value = "another"
19-
};
20-
21-
ParameterMetadata<int> n_sinks = ParameterMetadata<int> {
22-
.name = "n_sinks",
23-
.description = "Sink reactors bank width",
24-
.min_value = 1,
25-
.max_value = 10,
26-
.value = 1
27-
};
28-
29-
ParameterMetadata<int> log_level = ParameterMetadata<int> {
30-
.name = "log_level",
31-
.description = "Log level",
32-
.min_value = 0,
33-
.max_value = 1,
34-
.value = 1
35-
};
13+
REACTOR_PARAMETER(string, alias, "Alternate name", "another", "another", "Src-Sink-Example");
14+
REACTOR_PARAMETER(int, n_sinks, "Sink reactors bank width", 1, 10, 1);
3615

3716
Parameters(Reactor *container)
3817
: SystemParameter<string, int>(container) {
39-
register_parameters (alias, n_sinks, log_level);
18+
register_parameters (alias, n_sinks);
4019
}
4120
};
4221

4322
private:
4423
Parameters parameters{this};
4524

4625
std::unique_ptr<SourceReactor> src;
47-
ReactorBank<SinkReactor> snk;
26+
ReactorBank<SinkReactor> snk{"Sink", this};
4827

4928
public:
5029
MainReactor(const std::string &name, Environment *env)

0 commit comments

Comments
 (0)