X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/befbbbe1fbb31663a8f91e24ce12df271cf4ae79..d5cc61332edae35867a41bb38ad9401faaab2716:/src/smpi/colls/scatter/scatter-mvapich-two-level.cpp diff --git a/src/smpi/colls/scatter/scatter-mvapich-two-level.cpp b/src/smpi/colls/scatter/scatter-mvapich-two-level.cpp index cd701f5f58..613a3068d8 100644 --- a/src/smpi/colls/scatter/scatter-mvapich-two-level.cpp +++ b/src/smpi/colls/scatter/scatter-mvapich-two-level.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 @@ -34,19 +34,19 @@ * (C) 2001 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */ -#include "../colls_private.h" +#include "../colls_private.hpp" #define MPIR_Scatter_MV2_Binomial Coll_scatter_ompi_binomial::scatter #define MPIR_Scatter_MV2_Direct Coll_scatter_ompi_basic_linear::scatter -extern int (*MV2_Scatter_intra_function) (void *sendbuf, int sendcount, MPI_Datatype sendtype, +extern int (*MV2_Scatter_intra_function) (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm); namespace simgrid{ namespace smpi{ -int Coll_scatter_mvapich2_two_level_direct::scatter(void *sendbuf, +int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, @@ -150,8 +150,8 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(void *sendbuf, if (root != leader_of_root) { if (leader_comm_rank == leader_root) { - displs = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); - sendcnts = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); + displs = new int[leader_comm_size]; + sendcnts = new int[leader_comm_size]; sendcnts[0] = node_sizes[0] * nbytes; displs[0] = 0; @@ -164,8 +164,8 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(void *sendbuf, leader_root, leader_comm); } else { if (leader_comm_rank == leader_root) { - displs = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); - sendcnts = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); + displs = new int[leader_comm_size]; + sendcnts = new int[leader_comm_size]; sendcnts[0] = node_sizes[0] * sendcnt; displs[0] = 0; @@ -178,8 +178,8 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(void *sendbuf, leader_comm); } if (leader_comm_rank == leader_root) { - xbt_free(displs); - xbt_free(sendcnts); + delete[] displs; + delete[] sendcnts; } } else { if (leader_of_root != root) { @@ -223,7 +223,7 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(void *sendbuf, } -int Coll_scatter_mvapich2_two_level_binomial::scatter(void *sendbuf, +int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, @@ -326,8 +326,8 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(void *sendbuf, if (root != leader_of_root) { if (leader_comm_rank == leader_root) { - displs = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); - sendcnts = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); + displs = new int[leader_comm_size]; + sendcnts = new int[leader_comm_size]; sendcnts[0] = node_sizes[0] * nbytes; displs[0] = 0; @@ -340,8 +340,8 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(void *sendbuf, leader_root, leader_comm); } else { if (leader_comm_rank == leader_root) { - displs = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); - sendcnts = static_cast(xbt_malloc(sizeof(int) * leader_comm_size)); + displs = new int[leader_comm_size]; + sendcnts = new int[leader_comm_size]; sendcnts[0] = node_sizes[0] * sendcnt; displs[0] = 0; @@ -354,8 +354,8 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(void *sendbuf, leader_comm); } if (leader_comm_rank == leader_root) { - xbt_free(displs); - xbt_free(sendcnts); + delete[] displs; + delete[] sendcnts; } } else { if (leader_of_root != root) {