From: Augustin Degomme Date: Fri, 19 Sep 2014 08:03:01 +0000 (+0200) Subject: fix reduce_scatter ompi X-Git-Tag: v3_12~809 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0ac5b9da8918916f09bbbe3103bcd5f58e856e55 fix reduce_scatter ompi --- diff --git a/src/smpi/colls/reduce_scatter-ompi.c b/src/smpi/colls/reduce_scatter-ompi.c index c95c0175a3..e188c00370 100644 --- a/src/smpi/colls/reduce_scatter-ompi.c +++ b/src/smpi/colls/reduce_scatter-ompi.c @@ -96,9 +96,9 @@ smpi_coll_tuned_reduce_scatter_ompi_basic_recursivehalving(void *sbuf, if(_xbt_replay_is_active()){ recv_buf_free = (char*) SMPI_SHARED_MALLOC(buf_size); }else -#else - recv_buf_free = (char*) xbt_malloc(buf_size); #endif + recv_buf_free = (char*) xbt_malloc(buf_size); + recv_buf = recv_buf_free - lb; if (NULL == recv_buf_free) { err = MPI_ERR_OTHER; @@ -110,9 +110,9 @@ smpi_coll_tuned_reduce_scatter_ompi_basic_recursivehalving(void *sbuf, if(_xbt_replay_is_active()){ result_buf_free = (char*) SMPI_SHARED_MALLOC(buf_size); }else -#else - result_buf_free = (char*) xbt_malloc(buf_size); #endif + result_buf_free = (char*) xbt_malloc(buf_size); + result_buf = result_buf_free - lb; /* copy local buffer into the temporary results */ @@ -302,16 +302,14 @@ smpi_coll_tuned_reduce_scatter_ompi_basic_recursivehalving(void *sbuf, cleanup: if (NULL != disps) xbt_free(disps); -#ifdef WIN32 if (!_xbt_replay_is_active()){ if (NULL != recv_buf_free) xbt_free(recv_buf_free); if (NULL != result_buf_free) xbt_free(result_buf_free); - }else{ -#else + } +#ifndef WIN32 + else{ if (NULL != recv_buf_free) SMPI_SHARED_FREE(recv_buf_free); if (NULL != result_buf_free) SMPI_SHARED_FREE(result_buf_free); -#endif -#ifdef WIN32 } #endif return err;