X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/19b3962253112b19308537bc2400de141c119d99..271068c7d949ed959313b055466e13539485bc2c:/src/smpi/colls/alltoallv/alltoallv-ring.cpp?ds=sidebyside diff --git a/src/smpi/colls/alltoallv/alltoallv-ring.cpp b/src/smpi/colls/alltoallv/alltoallv-ring.cpp index 3f6836993b..53969d3776 100644 --- a/src/smpi/colls/alltoallv/alltoallv-ring.cpp +++ b/src/smpi/colls/alltoallv/alltoallv-ring.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" /***************************************************************************** * Function: alltoall_ring @@ -22,17 +22,14 @@ * Descrp: Function works in P - 1 steps. In step i, node j - i -> j -> j + i. - * Auther: Ahmad Faraj + * Author: Ahmad Faraj ****************************************************************************/ namespace simgrid{ namespace smpi{ -int -Coll_alltoallv_ring::alltoallv(void *send_buff, int *send_counts, int *send_disps, - MPI_Datatype send_type, - void *recv_buff, int *recv_counts, int *recv_disps, - MPI_Datatype recv_type, - MPI_Comm comm) +int alltoallv__ring(const void* send_buff, const int* send_counts, const int* send_disps, MPI_Datatype send_type, + void* recv_buff, const int* recv_counts, const int* recv_disps, MPI_Datatype recv_type, + MPI_Comm comm) { MPI_Status s; MPI_Aint send_chunk, recv_chunk; @@ -48,7 +45,7 @@ Coll_alltoallv_ring::alltoallv(void *send_buff, int *send_counts, int *send_disp recv_chunk = recv_type->get_extent(); int pof2 = ((num_procs != 0) && ((num_procs & (~num_procs + 1)) == num_procs)); for (i = 0; i < num_procs; i++) { - + if (pof2 == 1) { /* use exclusive-or algorithm */ src = dst = rank ^ i;