htrdr

Solving radiative transfer in heterogeneous media
git clone git://git.meso-star.fr/htrdr.git
Log | Files | Refs | README | LICENSE

commit 4bb2ac49323fdcc09ac95d1cddc4a291fab91666
parent a6eb778afb0d6d965559386bff67bd1ae1f65c03
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 30 Nov 2018 23:33:40 +0000

Make htrdr compatible with OpenMPI 1.6.5

Diffstat:
MREADME.md | 2+-
Mcmake/CMakeLists.txt | 2+-
Msrc/htrdr.c | 2+-
Msrc/htrdr_draw_radiance_sw.c | 6+-----
4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md @@ -47,7 +47,7 @@ on the [Star-SP](https://gitlab.com/meso-star/stat-sp/) and [Star-VX](https://gitlab.com/meso-star/star-vx/) libraries and on [OpenMP](http://www.openmp.org) 1.2 and the -[MPI](https://www.mpi-forum.org/) 2.0 specification to parallelize its +[MPI](https://www.mpi-forum.org/) specification to parallelize its computations. First ensure that CMake is installed on your system. Then install the RCMake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -34,7 +34,7 @@ find_package(HTCP REQUIRED) find_package(HTGOP REQUIRED) find_package(HTMIE REQUIRED) find_package(OpenMP 1.2 REQUIRED) -find_package(MPI 2 REQUIRED) +find_package(MPI 1 REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${RCMAKE_SOURCE_DIR}) include(rcmake) diff --git a/src/htrdr.c b/src/htrdr.c @@ -888,7 +888,7 @@ error: void send_mpi_progress - (struct htrdr* htrdr, const enum htrdr_mpi_message msg, const int32_t percent) + (struct htrdr* htrdr, const enum htrdr_mpi_message msg, int32_t percent) { ASSERT(htrdr); ASSERT(msg == HTRDR_MPI_PROGRESS_RENDERING diff --git a/src/htrdr_draw_radiance_sw.c b/src/htrdr_draw_radiance_sw.c @@ -552,7 +552,6 @@ draw_image struct list_node* tiles) { struct ssp_rng* rng_proc = NULL; - MPI_Request req; size_t nthreads = 0; size_t nthieves = 0; size_t proc_ntiles = 0; @@ -681,12 +680,9 @@ draw_image /* Synchronize the process */ mutex_lock(htrdr->mpi_mutex); - MPI(Ibarrier(MPI_COMM_WORLD, &req)); + MPI(Barrier(MPI_COMM_WORLD)); mutex_unlock(htrdr->mpi_mutex); - /* Wait for processes synchronization */ - mpi_wait_for_request(htrdr, &req); - exit: if(rng_proc) SSP(rng_ref_put(rng_proc)); return (res_T)res;