diff --git a/src/engine.c b/src/engine.c index 311004b73d15020a9c5ed8d4aaf8c11304e4caa9..2708d52ce79dfcaeb80aa74f5ca2327943dcdd66 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1394,7 +1394,7 @@ void engine_exchange_strays(struct engine *e, size_t offset_parts, error("MPI_Waitany failed (%s).", buff); } if (pid == MPI_UNDEFINED) break; - // message( "request from proxy %i has arrived." , pid / 3 ); + // message( "request from proxy %i has arrived." , pid / 4 ); pid = 4 * (pid / 4); /* If all the requests for a given proxy have arrived... */ @@ -1403,7 +1403,7 @@ void engine_exchange_strays(struct engine *e, size_t offset_parts, reqs_in[pid + 2] == MPI_REQUEST_NULL && reqs_in[pid + 3] == MPI_REQUEST_NULL) { /* Copy the particle data to the part/xpart/gpart arrays. */ - struct proxy *prox = &e->proxies[pid / 3]; + struct proxy *prox = &e->proxies[pid / 4]; memcpy(&s->parts[offset_parts + count_parts], prox->parts_in, sizeof(struct part) * prox->nr_parts_in); memcpy(&s->xparts[offset_parts + count_parts], prox->xparts_in, @@ -1444,7 +1444,7 @@ void engine_exchange_strays(struct engine *e, size_t offset_parts, /* Wait for all the sends to have finished too. */ if (nr_out > 0) - if (MPI_Waitall(3 * e->nr_proxies, reqs_out, MPI_STATUSES_IGNORE) != + if (MPI_Waitall(4 * e->nr_proxies, reqs_out, MPI_STATUSES_IGNORE) != MPI_SUCCESS) error("MPI_Waitall on sends failed.");