Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Adding Louis-Claude Canon's tests.
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 26 Sep 2007 19:40:11 +0000 (19:40 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 26 Sep 2007 19:40:11 +0000 (19:40 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4752 48e7efb5-ca39-0410-a469-dd3cf9ba447f

14 files changed:
teshsuite/Makefile.am
teshsuite/simdag/canon/input_platform.xml [new file with mode: 0644]
teshsuite/simdag/canon/sd_test0.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test0.tesh [new file with mode: 0644]
teshsuite/simdag/canon/sd_test1.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test1.tesh [new file with mode: 0644]
teshsuite/simdag/canon/sd_test2.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test2.tesh [new file with mode: 0644]
teshsuite/simdag/canon/sd_test3.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test3.tesh [new file with mode: 0644]
teshsuite/simdag/canon/sd_test4.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test4.tesh [new file with mode: 0644]
teshsuite/simdag/canon/sd_test5.c [new file with mode: 0644]
teshsuite/simdag/canon/sd_test5.tesh [new file with mode: 0644]

index 86d4cd2..0dfcf65 100644 (file)
@@ -103,6 +103,38 @@ simdag_network_test_reinit_costs_LDADD   =   $(LDADD_SG)
 TESTS += \
   simdag/network/test_reinit_costs.tesh
 
+# from L.C. Canon
+noinst_PROGRAMS += simdag/canon/sd_test0 \
+                   simdag/canon/sd_test1 \
+                   simdag/canon/sd_test2 \
+                   simdag/canon/sd_test3 \
+                   simdag/canon/sd_test4 \
+                   simdag/canon/sd_test5
+
+EXTRA_DIST      += simdag/canon/input_platform.xml
+
+simdag_canon_sd_test0_SOURCES = simdag/canon/sd_test0.c
+simdag_canon_sd_test0_LDADD = $(LDADD_SG)
+simdag_canon_sd_test1_SOURCES = simdag/canon/sd_test1.c
+simdag_canon_sd_test1_LDADD = $(LDADD_SG)
+simdag_canon_sd_test2_SOURCES = simdag/canon/sd_test2.c
+simdag_canon_sd_test2_LDADD = $(LDADD_SG)
+simdag_canon_sd_test3_SOURCES = simdag/canon/sd_test3.c
+simdag_canon_sd_test3_LDADD = $(LDADD_SG)
+simdag_canon_sd_test4_SOURCES = simdag/canon/sd_test4.c
+simdag_canon_sd_test4_LDADD = $(LDADD_SG)
+simdag_canon_sd_test5_SOURCES = simdag/canon/sd_test5.c
+simdag_canon_sd_test5_LDADD = $(LDADD_SG)
+
+TESTS += \
+  simdag/canon/sd_test0.tesh 
+# \
+#   simdag/canon/sd_test1.tesh \
+#   simdag/canon/sd_test2.tesh \
+#   simdag/canon/sd_test3.tesh \
+#   simdag/canon/sd_test4.tesh \
+#   simdag/canon/sd_test5.tesh
+
 # p2p
 
 noinst_PROGRAMS += simdag/network/p2p/test_latency1 \
diff --git a/teshsuite/simdag/canon/input_platform.xml b/teshsuite/simdag/canon/input_platform.xml
new file mode 100644 (file)
index 0000000..f8ebae2
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version='1.0'?>\r
+<!DOCTYPE platform_description SYSTEM "surfxml.dtd">\r
+<platform_description version="1">\r
+  <cpu name="cpu0" power="4e+09"/>\r
+  <cpu name="cpu1" power="4e+09"/>\r
+  <network_link name="link0" bandwidth="1.25e+08" latency="1.0e-04" sharing_policy="SHARED"/>\r
+  <route src="cpu0" dst="cpu0">\r
+    <route_element name="link0"/>\r
+  </route>\r
+  <route src="cpu0" dst="cpu1">\r
+    <route_element name="link0"/>\r
+  </route>\r
+  <route src="cpu1" dst="cpu0">\r
+    <route_element name="link0"/>\r
+  </route>\r
+  <route src="cpu1" dst="cpu1">\r
+    <route_element name="link0"/>\r
+  </route>\r
+</platform_description>\r
diff --git a/teshsuite/simdag/canon/sd_test0.c b/teshsuite/simdag/canon/sd_test0.c
new file mode 100644 (file)
index 0000000..c43adf6
--- /dev/null
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+  /* initialisation of SD */
+  SD_init(&argc, argv);
+
+  /* creation of the environment */
+  SD_create_environment(argv[1]);
+
+  /* creation of the tasks and their dependencies */
+  SD_task_t taskInit = SD_task_create(NULL,NULL,1.0);
+  SD_task_t taskA = SD_task_create("Task Comm 1", NULL, 1.0);
+  SD_task_t taskB = SD_task_create("Task Comm 2", NULL, 1.0);
+  
+
+  /* scheduling parameters */
+
+  double communication_amount1[] = { 0, 100000000, 0, 0 };
+  double communication_amount2[] = { 0, 1, 0, 0 };
+  const double no_cost[] = {1.0, 1.0};
+  
+  /* let's launch the simulation! */
+
+  SD_task_schedule(taskInit, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+  SD_task_schedule(taskA, 2, SD_workstation_get_list(), no_cost, communication_amount1, -1.0);
+  SD_task_schedule(taskB, 2, SD_workstation_get_list(), no_cost, communication_amount2, -1.0);
+
+  SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+  SD_task_dependency_add(NULL, NULL, taskInit, taskB);
+
+  SD_simulate(-1.0);
+
+  SD_exit();
+  return 0;
+}
+
diff --git a/teshsuite/simdag/canon/sd_test0.tesh b/teshsuite/simdag/canon/sd_test0.tesh
new file mode 100644 (file)
index 0000000..4f13732
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test0 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task '(null)'
+> [0.000100] [sd_kernel/INFO] Task '(null)' done
+> [0.000100] [sd_kernel/INFO] Executing task 'Task Comm 1'
+> [0.000100] [sd_kernel/INFO] Executing task 'Task Comm 2'
+> [0.000200] [sd_kernel/INFO] Task 'Task Comm 2' done
+> [0.800200] [sd_kernel/INFO] Task 'Task Comm 1' done
+> [0.800200] [sd_kernel/INFO] Simulation finished
diff --git a/teshsuite/simdag/canon/sd_test1.c b/teshsuite/simdag/canon/sd_test1.c
new file mode 100644 (file)
index 0000000..0652547
--- /dev/null
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+    /* initialisation of SD */
+    SD_init(&argc, argv);
+
+    /* creation of the environment */
+    SD_create_environment(argv[1]);
+
+    /* creation of the tasks and their dependencies */
+    SD_task_t taskInit = SD_task_create(NULL,NULL,1.0);
+    SD_task_t taskA = SD_task_create("Task Comm A", NULL, 1.0);
+    SD_task_t taskB = SD_task_create("Task Comm B", NULL, 1.0);
+
+
+    /* scheduling parameters */
+
+    const SD_workstation_t* workstation = SD_workstation_get_list();
+    double communication_amount1 = 1000000000;
+    double communication_amount2 = 1000000000;
+    double no_cost = 0.0;
+
+    /* let's launch the simulation! */
+    SD_task_schedule(taskInit, 1, SD_workstation_get_list(), &no_cost, &no_cost, -1.0);
+    SD_task_schedule(taskA, 1, &workstation[0], &no_cost, &communication_amount1, -1.0);
+    SD_task_schedule(taskB, 1, &workstation[1], &no_cost, &communication_amount2, -1.0);
+
+    SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+    SD_task_dependency_add(NULL, NULL, taskInit, taskB);
+    
+    SD_simulate(-1.0);
+
+    SD_exit();
+    return 0;
+}
diff --git a/teshsuite/simdag/canon/sd_test1.tesh b/teshsuite/simdag/canon/sd_test1.tesh
new file mode 100644 (file)
index 0000000..1a1c890
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test1 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task '(null)'
+> [0.000000] [sd_kernel/INFO] Task '(null)' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Comm A'
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Comm B'
+> [16.000100] [sd_kernel/INFO] Task 'Task Comm A' done
+> [16.000100] [sd_kernel/INFO] Task 'Task Comm B' done
+> [16.000100] [sd_kernel/INFO] Simulation finished
diff --git a/teshsuite/simdag/canon/sd_test2.c b/teshsuite/simdag/canon/sd_test2.c
new file mode 100644 (file)
index 0000000..adb67bf
--- /dev/null
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+    /* initialisation of SD */
+    SD_init(&argc, argv);
+
+    /* creation of the environment */
+    SD_create_environment(argv[1]);
+
+    /* creation of the tasks and their dependencies */
+    SD_task_t taskInit = SD_task_create(NULL,NULL,1.0);
+    SD_task_t taskA = SD_task_create("Task Comm A", NULL, 1.0);
+    SD_task_t taskB = SD_task_create("Task Comm B", NULL, 1.0);
+
+
+    /* scheduling parameters */
+
+    const SD_workstation_t* workstation = SD_workstation_get_list();
+    double communication_amount1 = 1000000000;
+    double communication_amount2 = 100000000;
+    double no_cost = 0.0;
+
+    /* let's launch the simulation! */
+    SD_task_schedule(taskInit, 1, SD_workstation_get_list(), &no_cost, &no_cost, -1.0);
+    SD_task_schedule(taskA, 1, &workstation[0], &no_cost, &communication_amount1, -1.0);
+    SD_task_schedule(taskB, 1, &workstation[1], &no_cost, &communication_amount2, -1.0);
+
+    SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+    SD_task_dependency_add(NULL, NULL, taskInit, taskB);
+    
+    SD_simulate(-1.0);
+
+    SD_exit();
+    return 0;
+}
diff --git a/teshsuite/simdag/canon/sd_test2.tesh b/teshsuite/simdag/canon/sd_test2.tesh
new file mode 100644 (file)
index 0000000..77e7e0a
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test2 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task '(null)'
+> [0.000000] [sd_kernel/INFO] Task '(null)' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Comm A'
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Comm B'
+> [1.600100] [sd_kernel/INFO] Task 'Task Comm B' done
+> [8.800100] [sd_kernel/INFO] Task 'Task Comm A' done
+> [8.800100] [sd_kernel/INFO] Simulation finished
diff --git a/teshsuite/simdag/canon/sd_test3.c b/teshsuite/simdag/canon/sd_test3.c
new file mode 100644 (file)
index 0000000..ce879bd
--- /dev/null
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+    /* initialisation of SD */
+    SD_init(&argc, argv);
+
+    /* creation of the environment */
+    SD_create_environment(argv[1]);
+
+    /* creation of the tasks and their dependencies */
+    SD_task_t taskInit = SD_task_create("Task Init",NULL,1.0);
+    SD_task_t taskA = SD_task_create("Task A", NULL, 1.0);
+    SD_task_t taskFin = SD_task_create("Task Fin", NULL, 1.0);
+
+
+    /* scheduling parameters */
+
+    double no_cost[] = { 0.0, 0.0, 0.0, 0.0 };
+
+    /* let's launch the simulation! */
+    SD_task_schedule(taskInit, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+    SD_task_schedule(taskA, 2, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+    SD_task_schedule(taskFin, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+
+    SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+    SD_task_dependency_add(NULL, NULL, taskA, taskFin);
+    
+    SD_simulate(-1.0);
+
+    SD_exit();
+    return 0;
+}
diff --git a/teshsuite/simdag/canon/sd_test3.tesh b/teshsuite/simdag/canon/sd_test3.tesh
new file mode 100644 (file)
index 0000000..a081c47
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test3 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Init'
+> [0.000000] [sd_kernel/INFO] Task 'Task Init' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task A'
+> [0.000000] [sd_kernel/INFO] Task 'Task A' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Fin'
+> [0.000000] [sd_kernel/INFO] Task 'Task Fin' done
+> [0.000000] [sd_kernel/INFO] Simulation finished
diff --git a/teshsuite/simdag/canon/sd_test4.c b/teshsuite/simdag/canon/sd_test4.c
new file mode 100644 (file)
index 0000000..1155970
--- /dev/null
@@ -0,0 +1,35 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+    /* initialisation of SD */
+    SD_init(&argc, argv);
+
+    /* creation of the environment */
+    SD_create_environment(argv[1]);
+
+    /* creation of the tasks and their dependencies */
+    SD_task_t taskInit = SD_task_create("Task Init",NULL,1.0);
+    SD_task_t taskA = SD_task_create("Task A", NULL, 1.0);
+    SD_task_t taskFin = SD_task_create("Task Fin", NULL, 1.0);
+
+
+    /* scheduling parameters */
+
+    double no_cost[] = { 0., 0., 0., 0. };
+    double amount[] = { 0., 1., 0., 0.};
+
+    /* let's launch the simulation! */
+    SD_task_schedule(taskInit, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+    SD_task_schedule(taskA, 2, SD_workstation_get_list(), no_cost, amount, -1.0);
+    SD_task_schedule(taskFin, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+
+    SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+    SD_task_dependency_add(NULL, NULL, taskA, taskFin);
+    
+    SD_simulate(-1.0);
+
+    SD_exit();
+    return 0;
+}
diff --git a/teshsuite/simdag/canon/sd_test4.tesh b/teshsuite/simdag/canon/sd_test4.tesh
new file mode 100644 (file)
index 0000000..46d46d7
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test4 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Init'
+> [0.000000] [sd_kernel/INFO] Task 'Task Init' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task A'
+> [0.000100] [sd_kernel/INFO] Task 'Task A' done
+> [0.000100] [sd_kernel/INFO] Executing task 'Task Fin'
+> [1.000100] [sd_kernel/INFO] Task 'Task Fin' done
+> [1.000100] [sd_kernel/INFO] Simulation finished
diff --git a/teshsuite/simdag/canon/sd_test5.c b/teshsuite/simdag/canon/sd_test5.c
new file mode 100644 (file)
index 0000000..d64d43c
--- /dev/null
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+
+int main(int argc, char **argv) {
+    /* initialisation of SD */
+    SD_init(&argc, argv);
+
+    /* creation of the environment */
+    SD_create_environment(argv[1]);
+
+    /* creation of the tasks and their dependencies */
+    SD_task_t taskInit = SD_task_create("Task Init",NULL,1.0);
+    SD_task_t taskA = SD_task_create("Task A", NULL, 1.0);
+    SD_task_t taskB = SD_task_create("Task B", NULL, 1.0);
+
+
+    /* scheduling parameters */
+
+    double no_cost[] = { 0., 0., 0., 0. };
+    double amount[] = { 0., 100000., 0., 0.};
+    double comput[] = { 10000000. };
+
+    /* let's launch the simulation! */
+    SD_task_schedule(taskInit, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
+    SD_task_schedule(taskA, 2, SD_workstation_get_list(), no_cost, amount, -1.0);
+    SD_task_schedule(taskB, 1, SD_workstation_get_list(), comput, no_cost, -1.0);
+
+    SD_task_dependency_add(NULL, NULL, taskInit, taskA);
+    SD_task_dependency_add(NULL, NULL, taskInit, taskB);
+    
+    SD_simulate(-1.0);
+
+    SD_exit();
+    return 0;
+}
diff --git a/teshsuite/simdag/canon/sd_test5.tesh b/teshsuite/simdag/canon/sd_test5.tesh
new file mode 100644 (file)
index 0000000..dc223fb
--- /dev/null
@@ -0,0 +1,9 @@
+$ simdag/canon/sd_test5 simdag/canon/input_platform.xml
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task 'Task Init'
+> [0.000000] [sd_kernel/INFO] Task 'Task Init' done
+> [0.000000] [sd_kernel/INFO] Executing task 'Task A'
+> [0.000000] [sd_kernel/INFO] Executing task 'Task B'
+> [0.000900] [sd_kernel/INFO] Task 'Task A' done
+> [0.002500] [sd_kernel/INFO] Task 'Task B' done
+> [0.002500] [sd_kernel/INFO] Simulation finished