diff --git a/src/scheduler.c b/src/scheduler.c index 37fdb253e2ce48353150311c6cc2aa8612fc6ea9..0d7c8c4754bac931c7886200176e3e9441c63c53 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -1027,25 +1027,6 @@ void scheduler_enqueue_mapper(void *map_data, int num_elements, struct task *tasks = s->tasks; for (int ind = 0; ind < num_elements; ind++) { struct task *t = &tasks[tid[ind]]; - -#ifdef WITH_MPI - /* If this is a recv task, enqueue the MPI call. */ - if (t->type == task_type_recv) { - int err; - if (t->subtype == task_subtype_tend) { - t->buff = malloc(sizeof(int) * t->ci->pcell_size); - err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID, - t->flags, MPI_COMM_WORLD, &t->req); - } else { - err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type, - t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req); - } - if (err != MPI_SUCCESS) { - mpi_error(err, "Failed to emit irecv for particle data."); - } - } -#endif - if (atomic_dec(&t->wait) == 1 && !t->skip) { scheduler_enqueue(s, t); } @@ -1179,17 +1160,17 @@ void scheduler_enqueue(struct scheduler *s, struct task *t) { break; case task_type_recv: #ifdef WITH_MPI - // if (t->subtype == task_subtype_tend) { - // t->buff = malloc(sizeof(int) * t->ci->pcell_size); - // err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID, - // t->flags, MPI_COMM_WORLD, &t->req); - // } else { - // err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type, - // t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req); - // } - // if (err != MPI_SUCCESS) { - // mpi_error(err, "Failed to emit irecv for particle data."); - // } + if (t->subtype == task_subtype_tend) { + t->buff = malloc(sizeof(int) * t->ci->pcell_size); + err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID, + t->flags, MPI_COMM_WORLD, &t->req); + } else { + err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type, + t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req); + } + if (err != MPI_SUCCESS) { + mpi_error(err, "Failed to emit irecv for particle data."); + } // message( "receiving %i parts with tag=%i from %i to %i." , // t->ci->count , t->flags , t->ci->nodeID , s->nodeID ); // fflush(stdout);