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 \
--- /dev/null
+<?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
--- /dev/null
+#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;
+}
+
--- /dev/null
+$ 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
--- /dev/null
+#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;
+}
--- /dev/null
+$ 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
--- /dev/null
+#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;
+}
--- /dev/null
+$ 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
--- /dev/null
+#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;
+}
--- /dev/null
+$ 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
--- /dev/null
+#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;
+}
--- /dev/null
+$ 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
--- /dev/null
+#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;
+}
--- /dev/null
+$ 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