X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/77bbf3027c4240a2e833209a3a3f186589da8577..271068c7d949ed959313b055466e13539485bc2c:/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp diff --git a/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp b/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp index cbfd6e05a3..d317ed5799 100644 --- a/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp +++ b/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2017. The SimGrid Team. +/* Copyright (c) 2013-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -16,12 +16,11 @@ */ namespace simgrid{ namespace smpi{ -int -Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisps, - MPI_Datatype sdtype, - void *rbuf, int *rcounts, int *rdisps, - MPI_Datatype rdtype, - MPI_Comm comm) +int alltoallv__ompi_basic_linear(const void *sbuf, const int *scounts, const int *sdisps, + MPI_Datatype sdtype, + void *rbuf, const int *rcounts, const int *rdisps, + MPI_Datatype rdtype, + MPI_Comm comm) { int i, size, rank; char *psnd, *prcv; @@ -30,7 +29,7 @@ Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisp MPI_Request *preq; size = comm->size(); rank = comm->rank(); - MPI_Request *ireqs= static_cast(xbt_malloc(sizeof(MPI_Request) * size * 2)); + MPI_Request* ireqs = new MPI_Request[size * 2]; XBT_DEBUG( "coll:tuned:alltoallv_intra_basic_linear rank %d", rank); @@ -56,7 +55,7 @@ Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisp /* Post all receives first */ for (i = 0; i < size; ++i) { - if (i == rank || 0 == rcounts[i]) { + if (i == rank) { continue; } @@ -72,7 +71,7 @@ Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisp /* Now post all sends */ for (i = 0; i < size; ++i) { - if (i == rank || 0 == scounts[i]) { + if (i == rank) { continue; } @@ -101,7 +100,7 @@ Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisp if(ireqs[i]!=MPI_REQUEST_NULL) Request::unref(&ireqs[i]); } - free(ireqs); + delete[] ireqs; return MPI_SUCCESS; }