Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
c43adf6c7fa4918e651ac18aa0278e5953478cbe
[simgrid.git] / teshsuite / simdag / basic0.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include "simdag/simdag.h"
4
5 int main(int argc, char **argv) {
6   /* initialisation of SD */
7   SD_init(&argc, argv);
8
9   /* creation of the environment */
10   SD_create_environment(argv[1]);
11
12   /* creation of the tasks and their dependencies */
13   SD_task_t taskInit = SD_task_create(NULL,NULL,1.0);
14   SD_task_t taskA = SD_task_create("Task Comm 1", NULL, 1.0);
15   SD_task_t taskB = SD_task_create("Task Comm 2", NULL, 1.0);
16   
17
18   /* scheduling parameters */
19
20   double communication_amount1[] = { 0, 100000000, 0, 0 };
21   double communication_amount2[] = { 0, 1, 0, 0 };
22   const double no_cost[] = {1.0, 1.0};
23   
24   /* let's launch the simulation! */
25
26   SD_task_schedule(taskInit, 1, SD_workstation_get_list(), no_cost, no_cost, -1.0);
27   SD_task_schedule(taskA, 2, SD_workstation_get_list(), no_cost, communication_amount1, -1.0);
28   SD_task_schedule(taskB, 2, SD_workstation_get_list(), no_cost, communication_amount2, -1.0);
29
30   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
31   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
32
33   SD_simulate(-1.0);
34
35   SD_exit();
36   return 0;
37 }
38