X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a340d551febe4876af2efe881b0d79a70ee0ace4..d5cc61332edae35867a41bb38ad9401faaab2716:/src/smpi/colls/reduce/reduce-NTSL.cpp diff --git a/src/smpi/colls/reduce/reduce-NTSL.cpp b/src/smpi/colls/reduce/reduce-NTSL.cpp index e07d5acc38..e8f6dec702 100644 --- a/src/smpi/colls/reduce/reduce-NTSL.cpp +++ b/src/smpi/colls/reduce/reduce-NTSL.cpp @@ -20,10 +20,6 @@ int Coll_reduce_NTSL::reduce(const void *buf, void *rbuf, int count, { int tag = COLL_TAG_REDUCE; MPI_Status status; - MPI_Request *send_request_array; - MPI_Request *recv_request_array; - MPI_Status *send_status_array; - MPI_Status *recv_status_array; int rank, size; int i; MPI_Aint extent; @@ -88,14 +84,10 @@ int Coll_reduce_NTSL::reduce(const void *buf, void *rbuf, int count, /* pipeline */ else { - send_request_array = - (MPI_Request *) xbt_malloc((size + pipe_length) * sizeof(MPI_Request)); - recv_request_array = - (MPI_Request *) xbt_malloc((size + pipe_length) * sizeof(MPI_Request)); - send_status_array = - (MPI_Status *) xbt_malloc((size + pipe_length) * sizeof(MPI_Status)); - recv_status_array = - (MPI_Status *) xbt_malloc((size + pipe_length) * sizeof(MPI_Status)); + MPI_Request* send_request_array = new MPI_Request[size + pipe_length]; + MPI_Request* recv_request_array = new MPI_Request[size + pipe_length]; + MPI_Status* send_status_array = new MPI_Status[size + pipe_length]; + MPI_Status* recv_status_array = new MPI_Status[size + pipe_length]; /* root recv data */ if (rank == root) { @@ -135,10 +127,10 @@ int Coll_reduce_NTSL::reduce(const void *buf, void *rbuf, int count, Request::waitall((pipe_length), send_request_array, send_status_array); } - free(send_request_array); - free(recv_request_array); - free(send_status_array); - free(recv_status_array); + delete[] send_request_array; + delete[] recv_request_array; + delete[] send_status_array; + delete[] recv_status_array; } /* end pipeline */ /* when count is not divisible by block size, use default BCAST for the remainder */