return task->remains;
}
-/* temporary function for debbuging */
+/** @brief Displays debugging informations about a task */
void SD_task_dump(SD_task_t task)
{
unsigned int counter;
INFO1("Displaying task %s",SD_task_get_name(task));
INFO1(" - amount: %.0f",SD_task_get_amount(task));
+ if (task->kind!=0) {
+ switch(task->kind){
+ case SD_TASK_COMM_E2E:
+ INFO0(" - kind: end-to-end communication");
+ break;
+ case SD_TASK_COMP_SEQ:
+ INFO0(" - kind: sequential computation");
+ break;
+ default:
+ INFO1(" - (unknown kind %d)",task->kind);
+ }
+ }
if (xbt_dynar_length(task->tasks_before)) {
INFO0(" - pre-dependencies:");
xbt_dynar_foreach(task->tasks_before,counter,dependency) {
}
}
}
+/** @brief Dumps the task in dotty formalism into the FILE* passed as second argument */
+void SD_task_dotty(SD_task_t task,void* out) {
+ unsigned int counter;
+ SD_dependency_t dependency;
+ fprintf(out, " T%d [label=\"%.10s\"",(unsigned int)task,task->name);
+ switch(task->kind){
+ case SD_TASK_COMM_E2E:
+ fprintf(out,", shape=box");
+ break;
+ case SD_TASK_COMP_SEQ:
+ fprintf(out,", shape=circle");
+ break;
+ }
+ fprintf(out,"];\n");
+ xbt_dynar_foreach(task->tasks_before,counter,dependency) {
+ fprintf(out," T%d -> T%d;\n",(unsigned int)dependency->src,(unsigned int)dependency->dst);
+ }
+}
/* Destroys a dependency between two tasks.
*/