X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0d5640fee91ae4ca8aa5e61fbf65ff726e7822d2..601a6a5d9ddc2126bbbabcd5ebba45bfad9a8bd0:/src/smpi/colls/smpi_mvapich2_selector.cpp diff --git a/src/smpi/colls/smpi_mvapich2_selector.cpp b/src/smpi/colls/smpi_mvapich2_selector.cpp index 1d6978c3a1..07ca55bd43 100644 --- a/src/smpi/colls/smpi_mvapich2_selector.cpp +++ b/src/smpi/colls/smpi_mvapich2_selector.cpp @@ -1,14 +1,14 @@ /* selector for collective algorithms based on mvapich decision logic */ -/* Copyright (c) 2009-2010, 2013-2017. The SimGrid Team. +/* Copyright (c) 2009-2018. 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" -#include "smpi_mvapich2_selector_stampede.h" +#include "smpi_mvapich2_selector_stampede.hpp" namespace simgrid{ namespace smpi{ @@ -795,7 +795,7 @@ int Coll_reduce_scatter_mvapich2::reduce_scatter(void *sendbuf, void *recvbuf, i int range = 0; int range_threshold = 0; int is_commutative = 0; - int *disps = static_cast(xbt_malloc(comm_size * sizeof (int))); + int* disps = new int[comm_size]; if(mv2_red_scat_thresholds_table==NULL) init_mv2_reduce_scatter_tables_stampede(); @@ -853,7 +853,7 @@ int Coll_reduce_scatter_mvapich2::reduce_scatter(void *sendbuf, void *recvbuf, i recvcnts, datatype, op, comm); } - xbt_free(disps); + delete[] disps; return mpi_errno; } @@ -998,28 +998,27 @@ int Coll_scatter_mvapich2::scatter(void *sendbuf, void smpi_coll_cleanup_mvapich2() { - int i = 0; if (mv2_alltoall_thresholds_table) - xbt_free(mv2_alltoall_thresholds_table[i]); - xbt_free(mv2_alltoall_thresholds_table); - xbt_free(mv2_size_alltoall_tuning_table); - xbt_free(mv2_alltoall_table_ppn_conf); + delete[] mv2_alltoall_thresholds_table[0]; + delete[] mv2_alltoall_thresholds_table; + delete[] mv2_size_alltoall_tuning_table; + delete[] mv2_alltoall_table_ppn_conf; - xbt_free(mv2_gather_thresholds_table); + delete[] mv2_gather_thresholds_table; if (mv2_allgather_thresholds_table) - xbt_free(mv2_allgather_thresholds_table[0]); - xbt_free(mv2_size_allgather_tuning_table); - xbt_free(mv2_allgather_table_ppn_conf); - xbt_free(mv2_allgather_thresholds_table); - - xbt_free(mv2_allgatherv_thresholds_table); - xbt_free(mv2_reduce_thresholds_table); - xbt_free(mv2_red_scat_thresholds_table); - xbt_free(mv2_allreduce_thresholds_table); - xbt_free(mv2_bcast_thresholds_table); + delete[] mv2_allgather_thresholds_table[0]; + delete[] mv2_size_allgather_tuning_table; + delete[] mv2_allgather_table_ppn_conf; + delete[] mv2_allgather_thresholds_table; + + delete[] mv2_allgatherv_thresholds_table; + delete[] mv2_reduce_thresholds_table; + delete[] mv2_red_scat_thresholds_table; + delete[] mv2_allreduce_thresholds_table; + delete[] mv2_bcast_thresholds_table; if (mv2_scatter_thresholds_table) - xbt_free(mv2_scatter_thresholds_table[0]); - xbt_free(mv2_scatter_thresholds_table); - xbt_free(mv2_size_scatter_tuning_table); - xbt_free(mv2_scatter_table_ppn_conf); + delete[] mv2_scatter_thresholds_table[0]; + delete[] mv2_scatter_thresholds_table; + delete[] mv2_size_scatter_tuning_table; + delete[] mv2_scatter_table_ppn_conf; }