-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Riccardo Murri Sent: 06 December 2010 22:32 To: boost-users@lists.boost.org Subject: Re: [Boost-users] mpi non-blocking communication
Yes, indeed. There's a mistake in the pseudo-code I sent in my reply to Philipp: one must call MPI_Init_thread() before istanciating boost::mpi::environment. So the correct init order is:
MPI_Init_thread(&argc, &argv, required, &provided); if (required > provided) { // warning: MPI impl does not support the requested threading model } mpi::environment env(argc, argv); mpi::communicator world;
Thanks for the correction!
Best regards, Riccardo _______________________________________________
On a related note, I posted a question to the openmpi forum. MPI_INIT is identical MPI_INIT_THREAD(MPI_THREAD_SINGLE), but I couldn't see the utility of having MPI_THREAD_FUNNELED. I mean: if I mpirun a process, and then a thread that is not the main thread calls MPI_INIT only by ususal mpi::environment construction, would it work? If not, then I would see the value of MPI_THREAD_FUNNELED regards,