Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
change verbose messages
[simgrid.git] / src / simdag / sd_task.c
index 3673944..3b97116 100644 (file)
@@ -504,11 +504,16 @@ void SD_task_dump(SD_task_t task)
     case SD_TASK_COMP_PAR_AMDAHL:
       XBT_INFO("  - kind: parallel computation following Amdahl's law");
       break;
+    case SD_TASK_COMM_PAR_MXN_1D_BLOCK:
+      XBT_INFO("  - kind: MxN data redistribution assuming 1D block distribution");
+      break;
     default:
       XBT_INFO("  - (unknown kind %d)", task->kind);
     }
   }
   XBT_INFO("  - amount: %.0f", SD_task_get_amount(task));
+  if (task->kind == SD_TASK_COMP_PAR_AMDAHL)
+    XBT_INFO("  - alpha: %.2f", task->alpha);
   XBT_INFO("  - Dependencies to satisfy: %d", task->unsatisfied_dependencies);
   if (!xbt_dynar_is_empty(task->tasks_before)) {
     XBT_INFO("  - pre-dependencies:");
@@ -532,9 +537,11 @@ void SD_task_dotty(SD_task_t task, void *out)
   fprintf(out, "  T%p [label=\"%.20s\"", task, task->name);
   switch (task->kind) {
   case SD_TASK_COMM_E2E:
+  case SD_TASK_COMM_PAR_MXN_1D_BLOCK:
     fprintf(out, ", shape=box");
     break;
   case SD_TASK_COMP_SEQ:
+  case SD_TASK_COMP_PAR_AMDAHL:
     fprintf(out, ", shape=circle");
     break;
   default:
@@ -1477,13 +1484,17 @@ void SD_task_schedulev(SD_task_t task, int count,
       SD_task_t before = dep->src;
       if (before->kind == SD_TASK_COMM_PAR_MXN_1D_BLOCK){
         if (!before->workstation_list){
-          XBT_VERB("Sender side of Task %s is not scheduled yet. Fill the workstation list with receiver side",
+          XBT_VERB("Sender side of Task %s is not scheduled yet",
              SD_task_get_name(before));
           before->workstation_list = xbt_new0(SD_workstation_t, count);
           before->workstation_nb = count;
+          XBT_VERB("Fill the workstation list with list of Task '%s'",
+            SD_task_get_name(task));
           for (i=0;i<count;i++)
             before->workstation_list[i] = task->workstation_list[i];
         } else {
+          XBT_VERB("Build communication matrix for task '%s'",
+             SD_task_get_name(before));
           int src_nb, dst_nb;
           double src_start, src_end, dst_start, dst_end;
           src_nb = before->workstation_nb;
@@ -1538,10 +1549,12 @@ void SD_task_schedulev(SD_task_t task, int count,
       SD_task_t after = dep->dst;
       if (after->kind == SD_TASK_COMM_PAR_MXN_1D_BLOCK){
         if (!after->workstation_list){
-          XBT_VERB("Receiver side of Task %s is not scheduled yet. Fill the workstation list with sender side",
+          XBT_VERB("Receiver side of Task '%s' is not scheduled yet",
               SD_task_get_name(after));
           after->workstation_list = xbt_new0(SD_workstation_t, count);
           after->workstation_nb = count;
+          XBT_VERB("Fill the workstation list with list of Task '%s'",
+            SD_task_get_name(task));
           for (i=0;i<count;i++)
             after->workstation_list[i] = task->workstation_list[i];
         } else {