* This allows to specify the task costs at creation, and decouple them from the scheduling process where you just
* specify which resource should communicate.
*
* This allows to specify the task costs at creation, and decouple them from the scheduling process where you just
* specify which resource should communicate.
*
XBT_DEBUG("Destroying task %s...", SD_task_get_name(task));
/* First Remove all dependencies associated with the task. */
XBT_DEBUG("Destroying task %s...", SD_task_get_name(task));
/* First Remove all dependencies associated with the task. */
- while (!task->outputs->empty())
- SD_task_dependency_remove(task, *(task->outputs->begin()));
+ while (not task->outputs->empty())
+ SD_task_dependency_remove(task, *(task->outputs->begin()));
if (task->state == SD_SCHEDULED || task->state == SD_RUNNABLE)
__SD_task_destroy_scheduling_data(task);
if (task->state == SD_SCHEDULED || task->state == SD_RUNNABLE)
__SD_task_destroy_scheduling_data(task);
task->start_time = task->surf_action->getStartTime();
if (new_state == SD_DONE){
task->finish_time = task->surf_action->getFinishTime();
task->start_time = task->surf_action->getStartTime();
if (new_state == SD_DONE){
task->finish_time = task->surf_action->getFinishTime();
XBT_INFO(" - Dependencies to satisfy: %zu", task->inputs->size()+ task->predecessors->size());
if ((task->inputs->size()+ task->predecessors->size()) > 0) {
XBT_INFO(" - pre-dependencies:");
XBT_INFO(" - Dependencies to satisfy: %zu", task->inputs->size()+ task->predecessors->size());
if ((task->inputs->size()+ task->predecessors->size()) > 0) {
XBT_INFO(" - pre-dependencies:");
XBT_INFO(" %s", it->name);
}
if ((task->outputs->size() + task->successors->size()) > 0) {
XBT_INFO(" - post-dependencies:");
XBT_INFO(" %s", it->name);
}
if ((task->outputs->size() + task->successors->size()) > 0) {
XBT_INFO(" - post-dependencies:");
fprintf(fout, " T%p -> T%p;\n", it, task);
fprintf(fout, " T%p -> T%p;\n", it, task);
fprintf(fout, " T%p -> T%p;\n", it, task);
}
fprintf(fout, " T%p -> T%p;\n", it, task);
}
int host_nb = task->allocation->size();
sg_host_t *hosts = xbt_new(sg_host_t, host_nb);
int i =0;
int host_nb = task->allocation->size();
sg_host_t *hosts = xbt_new(sg_host_t, host_nb);
int i =0;
XBT_VERB("Schedule computation task %s on %zu host(s)", task->name, task->allocation->size());
if (task->kind == SD_TASK_COMP_SEQ) {
XBT_VERB("Schedule computation task %s on %zu host(s)", task->name, task->allocation->size());
if (task->kind == SD_TASK_COMP_SEQ) {
task->flops_amount = xbt_new0(double, 1);
task->flops_amount[0] = task->amount;
}
task->flops_amount = xbt_new0(double, 1);
task->flops_amount[0] = task->amount;
}
SD_task_do_schedule(task);
/* Iterate over all inputs and outputs to say where I am located (and start them if runnable) */
SD_task_do_schedule(task);
/* Iterate over all inputs and outputs to say where I am located (and start them if runnable) */