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:");
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:
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;
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 {