Le 13 févr. 2014 à 15:23, MM <finjulh...@gmail.com> a écrit : > my ompi_info says (openmpi) > Threading support: No > > Does that mean it's not supported? > Yes, that’s what it means.
> If so, what to do? > Gently ignore that information. Open MPI works for “serialized” workloads, even when thread support is disabled (not guaranteed to remain like that in future releases, use at your own risk). > > On 13 February 2014 17:00, Matthias Troyer <tro...@phys.ethz.ch> wrote: > > > > > > On Feb 13, 2014, at 17:44, MM <finjulh...@gmail.com> wrote: > >> On 13 February 2014 15:33, Matthias Troyer <tro...@phys.ethz.ch> 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-...@lists.boost.org > http://lists.boost.org/mailman/listinfo.cgi/boost-mpi > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users