X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/13fb4af932a02ea0bd4293d1e55ac071de326f80..d5cc61332edae35867a41bb38ad9401faaab2716:/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 8c9bc2902a..de140a36ee 100644 --- a/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp +++ b/src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp @@ -1,10 +1,10 @@ -/* 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 * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "../colls_private.h" +#include "../colls_private.hpp" /* * Linear functions are copied from the basic coll module. For * some small number of nodes and/or small data sizes they are just as @@ -17,9 +17,9 @@ namespace simgrid{ namespace smpi{ int -Coll_alltoallv_ompi_basic_linear::alltoallv(void *sbuf, int *scounts, int *sdisps, +Coll_alltoallv_ompi_basic_linear::alltoallv(const void *sbuf, const int *scounts, const int *sdisps, MPI_Datatype sdtype, - void *rbuf, int *rcounts, int *rdisps, + void *rbuf, const int *rcounts, const int *rdisps, MPI_Datatype rdtype, MPI_Comm comm) { @@ -30,7 +30,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 +56,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 +72,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 +101,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; }