- /* Iterate over all inputs and outputs to say where I am located (and start them if runnable) */
- if (task->kind == SD_TASK_COMP_SEQ) {
- XBT_VERB("Schedule computation task %s on %s. It costs %.f flops", SD_task_get_name(task),
- sg_host_get_name(task->host_list[0]), task->flops_amount[0]);
-
- for (std::set<SD_task_t>::iterator it=task->inputs->begin(); it!=task->inputs->end(); ++it){
- SD_task_t input = *it;
- input->host_list[1] = task->host_list[0];
- if (input->host_list[0] && (SD_task_get_state(input) < SD_SCHEDULED)) {
- SD_task_do_schedule(input);
- XBT_VERB ("Auto-Schedule comm task %s between %s -> %s. It costs %.f bytes", SD_task_get_name(input),
- sg_host_get_name(input->host_list[0]), sg_host_get_name(input->host_list[1]), input->bytes_amount[2]);
- }
- }
-
- for (std::set<SD_task_t>::iterator it=task->outputs->begin(); it!=task->outputs->end(); ++it){
- SD_task_t output = *it;
- output->host_list[0] = task->host_list[0];
- if (output->host_list[1] && (SD_task_get_state(output) < SD_SCHEDULED)) {
- SD_task_do_schedule(output);
- XBT_VERB ("Auto-Schedule comm task %s between %s -> %s. It costs %.f bytes", SD_task_get_name(output),
- sg_host_get_name(output->host_list[0]), sg_host_get_name(output->host_list[1]),
- output->bytes_amount[2]);
- }
- }
- }