]> AND Public Git Repository - simgrid.git/blobdiff - examples/simdag/sd_typed_tasks_test.c
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Solve white space conflicts
[simgrid.git] / examples / simdag / sd_typed_tasks_test.c
index c4355e3e78b8139ba3e13b1ce37b7623645910b2..9326823e3fc66b7320ce381f9f776fe3829b2451 100644 (file)
@@ -43,9 +43,9 @@ int main(int argc, char **argv)
  
   workstations = SD_workstation_get_list();
 
-  for (i=0;i<4;i++)
+  for (i=0;i<SD_workstation_get_number();i++)
     XBT_INFO("%s runs at %f flops", SD_workstation_get_name(workstations[i]),
-            SD_workstation_get_power(workstations[i]));
+       SD_workstation_get_power(workstations[i]));
 
   /* creation of some typed tasks and their dependencies */
   taskA = SD_task_create_comp_seq("Task A", NULL, 1e9);
@@ -54,9 +54,6 @@ int main(int argc, char **argv)
   taskD = SD_task_create_comp_par_amdahl("Task D", NULL, 1e9, 0.2);
   taskE = SD_task_create("Task E", NULL, 1e9);
 
-  double toto = (0.2 + (1 - 0.2)/4) * 1e9;
-  XBT_INFO("%f %f",toto ,toto/SD_workstation_get_power(workstations[0]));
-
   SD_task_dependency_add(NULL, NULL, taskA, taskB);
   SD_task_dependency_add(NULL, NULL, taskB, taskC);
 
@@ -68,8 +65,10 @@ int main(int argc, char **argv)
 
   for (i=0;i<4;i++){
     workstation_list[i]=workstations[i+4];
-    computation_amount[i]=toto;
+    /* Apply Amdahl's law manually assuming a 20% serial part */
+    computation_amount[i]=(0.2 + (1 - 0.2)/4) * SD_task_get_amount(taskE);
   }
+
   SD_task_schedule(taskE, 4, workstation_list,
                    computation_amount, communication_amount, -1);