X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/40616078da72e823931c1fb884949054699ec39d..84402e8e2ee2a2d0bef25fdceb0a263ed8b471f6:/src/smpi/colls/bcast/bcast-flattree-pipeline.cpp diff --git a/src/smpi/colls/bcast/bcast-flattree-pipeline.cpp b/src/smpi/colls/bcast/bcast-flattree-pipeline.cpp index bac37d28dd..48571dd52c 100644 --- a/src/smpi/colls/bcast/bcast-flattree-pipeline.cpp +++ b/src/smpi/colls/bcast/bcast-flattree-pipeline.cpp @@ -1,17 +1,17 @@ -/* Copyright (c) 2013-2014. The SimGrid Team. +/* Copyright (c) 2013-2020. 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" int flattree_segment_in_byte = 8192; - -int -smpi_coll_tuned_bcast_flattree_pipeline(void *buff, int count, - MPI_Datatype data_type, int root, - MPI_Comm comm) +namespace simgrid { +namespace smpi { +int bcast__flattree_pipeline(void *buff, int count, + MPI_Datatype data_type, int root, + MPI_Comm comm) { int i, j, rank, num_procs; int tag = COLL_TAG_BCAST; @@ -20,21 +20,18 @@ smpi_coll_tuned_bcast_flattree_pipeline(void *buff, int count, extent = data_type->get_extent(); int segment = flattree_segment_in_byte / extent; - segment = segment == 0 ? 1 :segment; + segment = segment == 0 ? 1 :segment; int pipe_length = count / segment; int increment = segment * extent; if (pipe_length==0) { XBT_WARN("MPI_bcast_flattree_pipeline use default MPI_bcast_flattree."); - return smpi_coll_tuned_bcast_flattree(buff, count, data_type, root, comm); + return bcast__flattree(buff, count, data_type, root, comm); } rank = comm->rank(); num_procs = comm->size(); - MPI_Request *request_array; - MPI_Status *status_array; - - request_array = (MPI_Request *) xbt_malloc(pipe_length * sizeof(MPI_Request)); - status_array = (MPI_Status *) xbt_malloc(pipe_length * sizeof(MPI_Status)); + MPI_Request* request_array = new MPI_Request[pipe_length]; + MPI_Status* status_array = new MPI_Status[pipe_length]; if (rank != root) { for (i = 0; i < pipe_length; i++) { @@ -57,7 +54,10 @@ smpi_coll_tuned_bcast_flattree_pipeline(void *buff, int count, } - free(request_array); - free(status_array); + delete[] request_array; + delete[] status_array; return MPI_SUCCESS; } + +} +}