Boost logo

Boost-MPI :

Subject: Re: [Boost-mpi] openmpi 1.6.2 boost 1.54 mswin7 vs2010 Threading support:No
From: MM (finjulhich_at_[hidden])
Date: 2014-02-13 11:44:05


On 13 February 2014 15:33, Matthias Troyer <troyer_at_[hidden]> wrote:

> Hi,
>
> In orders to use MPI in a multi-threaded environment, even when only one
> thread uses MPI, you need to request the necessary level of thread support
> in the environment constructor. Then you'd an check whether your MPI
> implementation supports multi threading. Note that using MPI the way you do
> need not work even though it seems safe at first sight. One reason is that
> your MPI implementation might use threads internally to support, e.g.
> nonblocking calls and those threads might not be compatible with your
> threads.
>
> Matthias
>
> So in my case, as I have a main thread that doesn't call MPI, and another
purposely created user thread to call MPI lib, the mode is
MPI_THREAD_FUNNELLED ?

as boost 1.54 doesn't have the level in the enviroment ctor, I need to
explicitly call the underlying MPI::Init_thread(MPI_THREAD_FUNNELED).
once I move to 1.55, I'll use the env ctor.

thanks



Boost-Commit list run by troyer at boostpro.com