From 0ac5b9da8918916f09bbbe3103bcd5f58e856e55 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Fri, 19 Sep 2014 10:03:01 +0200 Subject: [PATCH] fix reduce_scatter ompi --- src/smpi/colls/reduce_scatter-ompi.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) 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; -- 2.20.1