|
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 15:23:17
my ompi_info says (openmpi)
Threading support: No
Does that mean it's not supported?
If so, what to do?
On 13 February 2014 17:00, Matthias Troyer <troyer_at_[hidden]> wrote:
>
>
>
>
>
> On Feb 13, 2014, at 17:44, MM <finjulhich_at_[hidden]> wrote:
>
> 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.
>
>
>
> You need MPI_THREAD_SERIALIZED since it is not the main thread which is
> doing the MPI communication. Be sure to check whether that level is
> actually supported.
>
> Matthias
>
>
> _______________________________________________
> Boost-mpi mailing list
> Boost-mpi_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-mpi
>
>
Boost-Commit list run by troyer at boostpro.com