X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d5b29830df70e823202e384a7655e4371193ecd7..2807fde4fd1f59c230d69a934634c5dfb77905f2:/src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp diff --git a/src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp b/src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp index 3874163fcc..d57fd3f633 100644 --- a/src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp +++ b/src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp @@ -20,7 +20,7 @@ * Additional copyrights may follow */ -#include "../colls_private.h" +#include "../colls_private.hpp" /* * ompi_coll_tuned_allgatherv_intra_bruck * @@ -89,8 +89,6 @@ int Coll_allgatherv_ompi_bruck::allgatherv(void *sbuf, int scount, { int sendto, recvfrom, blockcount, i; unsigned int distance; - int *new_rcounts = NULL, *new_rdispls = NULL; - int *new_scounts = NULL, *new_sdispls = NULL; ptrdiff_t slb, rlb, sext, rext; char *tmpsend = NULL, *tmprecv = NULL; MPI_Datatype new_rdtype = MPI_DATATYPE_NULL, new_sdtype = MPI_DATATYPE_NULL; @@ -98,8 +96,7 @@ int Coll_allgatherv_ompi_bruck::allgatherv(void *sbuf, int scount, unsigned int size = comm->size(); unsigned int rank = comm->rank(); - XBT_DEBUG( - "coll:tuned:allgather_ompi_bruck rank %d", rank); + XBT_DEBUG("coll:tuned:allgather_ompi_bruck rank %u", rank); sdtype->extent(&slb, &sext); @@ -127,10 +124,10 @@ int Coll_allgatherv_ompi_bruck::allgatherv(void *sbuf, int scount, - blockcount doubles until the last step when only the remaining data is exchanged. */ - new_rcounts = (int*) calloc(4*size, sizeof(int)); - new_rdispls = new_rcounts + size; - new_scounts = new_rdispls + size; - new_sdispls = new_scounts + size; + int* new_rcounts = new int[4 * size]; + int* new_rdispls = new_rcounts + size; + int* new_scounts = new_rdispls + size; + int* new_sdispls = new_scounts + size; for (distance = 1; distance < size; distance<<=1) { @@ -171,7 +168,7 @@ int Coll_allgatherv_ompi_bruck::allgatherv(void *sbuf, int scount, } - free(new_rcounts); + delete[] new_rcounts; return MPI_SUCCESS;