99#include " tbb/tick_count.h"
1010#include " tbb/tbbmalloc_proxy.h"
1111
12+ // #include "ittnotify.h"
13+
1214#include " BenchmarkGrid.h"
1315#include " BenchmarkRandom.h"
1416#include " BenchmarkFanout.h"
2426#include " react/propagation/PulseCountEngine.h"
2527#include " react/propagation/SourceSetEngine.h"
2628#include " react/propagation/ELMEngine.h"
29+ #include " react/propagation/SubtreeEngine.h"
2730
2831// /////////////////////////////////////////////////////////////////////////////////////////////////
2932namespace {
3033
3134using namespace react ;
3235
36+ REACTIVE_DOMAIN (TopoSortSTDomain, TopoSortEngine<sequential>);
3337REACTIVE_DOMAIN (TopoSortDomain, TopoSortEngine<parallel>);
3438REACTIVE_DOMAIN (PulseCountDomain, PulseCountEngine<parallel>);
3539REACTIVE_DOMAIN (SourceSetDomain, SourceSetEngine<parallel>);
36- REACTIVE_DOMAIN (TopoSortSTDomain, TopoSortEngine<sequential>);
3740REACTIVE_DOMAIN (ELMDomain, ELMEngine<parallel>);
41+ REACTIVE_DOMAIN (SubtreeDomain, SubtreeEngine<parallel>);
3842
3943void runBenchmarkGrid (std::ostream& out)
4044{
@@ -128,11 +132,11 @@ void runBenchmarkLifeSim(std::ostream& out)
128132 // RUN_BENCHMARK(std::cout, 1, Benchmark_LifeSim, BenchmarkParams_LifeSim(250, 30, 10000),
129133 // SourceSetDomain, PulseCountDomain);
130134
131- // RUN_BENCHMARK(out, 3 , Benchmark_LifeSim, BenchmarkParams_LifeSim(250, 30 , 10000),
132- // TopoSortSTDomain, TopoSortDomain, ELMDomain, PulseCountDomain, BPulseCountO1Domain , SourceSetDomain);
135+ RUN_BENCHMARK (out, 1 , Benchmark_LifeSim, BenchmarkParams_LifeSim (100 , 15 , 10000 ),
136+ TopoSortSTDomain, TopoSortDomain, ELMDomain, PulseCountDomain, SourceSetDomain);
133137
134- RUN_BENCHMARK (out, 3 , Benchmark_LifeSim, BenchmarkParams_LifeSim (100 , 15 , 10000 ),
135- PulseCountDomain, PulseCountDomain);
138+ // RUN_BENCHMARK(out, 3, Benchmark_LifeSim, BenchmarkParams_LifeSim(100, 50, 100 ),
139+ // PulseCountDomain, PulseCountDomain);
136140}
137141
138142void runBenchmarks ()
@@ -143,7 +147,7 @@ void runBenchmarks()
143147 logfile.open (path.c_str ());
144148
145149 // === GRID
146- runBenchmarkGrid (logfile);
150+ // runBenchmarkGrid(logfile);
147151
148152 // runBenchmarkFlooding(logfile);
149153
@@ -157,7 +161,7 @@ void runBenchmarks()
157161 // runBenchmarkSequence(logfile);
158162
159163 // === LIFESIM
160- // runBenchmarkLifeSim(logfile);
164+ runBenchmarkLifeSim (logfile);
161165
162166 logfile.close ();
163167}
@@ -166,8 +170,8 @@ void debugBenchmarks()
166170{
167171 using TestDomain = PulseCountDomain;
168172
169- RUN_BENCHMARK (std::cout, 3 , Benchmark_Grid, BenchmarkParams_Grid (30 , 1000 ),
170- TestDomain, PulseCountDomain);
173+ RUN_BENCHMARK (std::cout, 3 , Benchmark_Grid, BenchmarkParams_Grid (30 , 1 ),
174+ PulseCountDomain);
171175
172176 // RUN_BENCHMARK(std::cout, 1, Benchmark_Fanout, BenchmarkParams_Fanout(1000, 5, 0),
173177 // TestDomain);
@@ -212,14 +216,19 @@ void debugBenchmarks()
212216
213217void profileBenchmark ()
214218{
215- RUN_BENCHMARK (std::cout, 1 , Benchmark_Grid, BenchmarkParams_Grid (30 , 10000 ),
219+ RUN_BENCHMARK (std::cout, 3 , Benchmark_Grid, BenchmarkParams_Grid (30 , 10000 ),
216220 TopoSortSTDomain);
221+ // TopoSortSTDomain, TopoSortDomain, ELMDomain, PulseCountDomain, SubtreeDomain, SourceSetDomain);
217222
218223 // RUN_BENCHMARK(std::cout, 1, Benchmark_Grid, BenchmarkParams_Grid(30, 10000),
219224 // SourceSetDomain);
220225
221- // RUN_BENCHMARK(std::cout, 1, Benchmark_Random, BenchmarkParams_Random(20, 11, 100, 0, 10, 40, 40, false, 41556, 21624),
222- // FloodingDomain);
226+ // RUN_BENCHMARK(std::cout, 1, Benchmark_Random, BenchmarkParams_Random(20, 11, 100, 0, 5, 80, 20, false, 41556, 21624),
227+ // SubtreeDomain);
228+ // TopoSortSTDomain, TopoSortDomain, ELMDomain, PulseCountDomain, SubtreeDomain, SourceSetDomain);
229+
230+ // RUN_BENCHMARK(std::cout, 1, Benchmark_LifeSim, BenchmarkParams_LifeSim(100, 15, 10000),
231+ // TopoSortDomain);
223232}
224233
225234} // ~anonymous namespace
0 commit comments