Browse Source

Scripts for executing benchmarks

Roman Cardenas 5 years ago
parent
commit
e3e20c79f7

+ 1 - 1
devstone/cdboost/CMakeLists.txt

@@ -17,7 +17,7 @@ include_directories(${Boost_INCLUDE_DIRS})
 
 ## CDBoost
 add_executable(cdboost-devstone
-        src/cdboost-devstone.cpp
+        src/cdboost-devstone.cpp events_devstone.txt
         )
 target_include_directories(cdboost-devstone
         PUBLIC ${PROJECT_SOURCE_DIR}/simulators/cdboost/include

+ 1 - 0
devstone/cdboost/events_devstone.txt

@@ -0,0 +1 @@
+0 0

+ 5 - 10
devstone/cdboost/src/cdboost-devstone.cpp

@@ -238,6 +238,7 @@ int main(int argc, char* argv[]){
             cout << "File for events: " << vm["event-list"].as<string>() << " is not accesible." << endl;
             cout << endl;
             cout << "for mode information run: " << argv[0] << " --help" << endl;
+            return 1;
         }
     }
 
@@ -249,13 +250,12 @@ int main(int argc, char* argv[]){
     string event_list = vm["event-list"].as<string>();
     //finished processing input
 
-    auto processed_parameters = hclock::now();
-
     //create models for LI kind
     int models_quantity = (width - 1) * (depth - 1) + 1;
     int counted_atomic_models=0;
     int counted_coupled_models=0;
 
+    auto processed_parameters = hclock::now();
 
     shared_ptr<boost::simulation::pdevs::coupled<Time, msg_type_int>> root_int;
     shared_ptr<boost::simulation::pdevs::coupled<Time, msg_type_pair>> root_pair;
@@ -300,12 +300,7 @@ int main(int argc, char* argv[]){
 
 
     cout << endl;
-    cout << "theory atomic models created: " << models_quantity << std::endl;
-    cout << "real atomic models created: " << counted_atomic_models << " coupled models created: "<<  counted_coupled_models << std::endl;
-    cout << "real total models created: " << counted_atomic_models + counted_coupled_models << std::endl;
-    cout << "time processing arguments: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( processed_parameters - start).count() << endl;
-    cout << "time constructing the models: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( model_built - processed_parameters).count() << endl;
-    cout << "time initializing the models: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( model_init - model_built).count() << endl;
-    cout << "time running simulation: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( finished_simulation - model_init).count() << endl;
-    cout << "total time: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( finished_simulation - start).count() << endl;
+    cout << "Model creation time: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( model_built - processed_parameters).count() << endl;
+    cout << "Engine setup time: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( model_init - model_built).count() << endl;
+    cout << "Simulation time: " << chrono::duration_cast<chrono::duration<double, ratio<1>>>( finished_simulation - model_init).count() << endl;
 }

+ 14 - 6
devstone_comparative.py

@@ -7,17 +7,22 @@ import time
 
 sys.setrecursionlimit(10000)
 
-XDEVS_PYTHON_CMD = ""
+threads = os.cpu_count()
+
+XDEVS_PYTHON_CMD = "python3 simulators/xdevs-python/perfdevs/examples/devstone/main.py -m {model_type} -d {depth} -w {width} -i {int_cycles} -e {ext_cycles}"
+XDEVS_PYTHON_F_CMD = "python3 simulators/xdevs-python/perfdevs/examples/devstone/main.py -m {model_type} -d {depth} -w {width} -i {int_cycles} -e {ext_cycles} -f"
+XDEVS_PYTHON_C_CMD = "python3 simulators/xdevs-python/perfdevs/examples/devstone/main.py -m {model_type} -d {depth} -w {width} -i {int_cycles} -e {ext_cycles} -c"
+XDEVS_PYTHON_FC_CMD = "python3 simulators/xdevs-python/perfdevs/examples/devstone/main.py -m {model_type} -d {depth} -w {width} -i {int_cycles} -e {ext_cycles} -f -c"
 XDEVS_JAVA_CMD = "java -classpath simulators/xdevs-java/out/production/xdevs xdevs.core.devstone.DEVStone {model_type} {depth} {width} {int_cycles} {ext_cycles} coord false"
 XDEVS_JAVA_CHAINED_CMD = "java -classpath simulators/xdevs-java/out/production/xdevs xdevs.core.devstone.DEVStone {model_type} {depth} {width} {int_cycles} {ext_cycles} chained false"
 XDEVS_JAVA_PARALLEL_CMD = "java -classpath simulators/xdevs-java/out/production/xdevs xdevs.core.devstone.DEVStone {model_type} {depth} {width} {int_cycles} {ext_cycles} parallel false"
 XDEVS_JAVA_PARALLEL_CHAINED_CMD = "java -classpath simulators/xdevs-java/out/production/xdevs xdevs.core.devstone.DEVStone {model_type} {depth} {width} {int_cycles} {ext_cycles} chainedparallel false"
-PYPDEVS_CMD = ""
+PYPDEVS_CMD = "python3 devstone/pythonpdevs/main.py -m {model_type} -d {depth} -w {width} -i {int_cycles} -e {ext_cycles}"
 PYPDEVS_MIN_CMD = ""
-CADMIUM_CMD = ""
-CADMIUM_CONC_CMD = ""
-CDBOOST_CMD = ""
-ADEVS_CMD = ""
+CADMIUM_CMD = "devstone/cadmium/build/cadmium-dynamic-devstone --kind={model_type} --depth={depth} --width={width} --int-cycles={int_cycles} --ext-cycles={ext_cycles} --event-list=events_devstone.txt"
+CADMIUM_CONC_CMD = "devstone/cadmium/build/cadmium-dynamic-conc-devstone --kind={model_type} --depth={depth} --width={width} --int-cycles={int_cycles} --ext-cycles={ext_cycles} --event-list=events_devstone.txt --threads=" + threads
+CDBOOST_CMD = "devstone/cdboost/build/cdboost-devstone --kind={model_type} --depth={depth} --width={width} --int-cycles={int_cycles} --ext-cycles={ext_cycles} --event-list=events_devstone.txt"
+ADEVS_CMD = "devstone/adevs/build/DEVStone"  # TODO
 
 DEFAULT_PARAMS = ((300, 10, 0, 0), (10, 300, 0, 0), (300, 300, 0, 0))
 DEFAULT_MODEL_TYPES = ("LI", "HI", "HO", "HOmod")
@@ -28,6 +33,9 @@ RE_SIM_TIMES = r"Model creation time: ?([0-9.e-]+) ?.*Engine set ?up time: ?([0-
 
 
 engines = {"xdevs-python": XDEVS_PYTHON_CMD,
+           "xdevs-python-f": XDEVS_PYTHON_F_CMD,
+           "xdevs-python-c": XDEVS_PYTHON_C_CMD,
+           "xdevs-python-fc": XDEVS_PYTHON_FC_CMD,
            "xdevs-java": XDEVS_JAVA_CMD,
            "xdevs-java-chained": XDEVS_JAVA_CHAINED_CMD,
            "xdevs-java-parallel": XDEVS_JAVA_PARALLEL_CMD,

+ 1 - 0
events_devstone.txt

@@ -0,0 +1 @@
+0 0

+ 1 - 1
simulators/cdboost

@@ -1 +1 @@
-Subproject commit d1d1ca273dd3293825ecdeb33f72629cd51dce21
+Subproject commit 90e7074edb3ab6a655104bbc82adc57fcfafa373

+ 1 - 1
simulators/xdevs-python

@@ -1 +1 @@
-Subproject commit 224482d46a222d5d7c71ad5b2f6b4ba7264a809d
+Subproject commit d900b34b9af3cb81c7f2eab8d860d04f21fa2a79