
Clément Rezvoy wrote:
Hi all,
I have a question regarding boost MPI and thread support.
boost::mpi::environment uses MPI::Init to initialize MPI. I would like to be able to assess the supported thread level using MPI::Init_thread. Is it possible to first initialize MPI via MPI::Init_thread and then create a boost::mpi::environment ? the documentation reads:
If the MPI environment has not already been initialized, initializes MPI with a call to MPI_Init
does that also work if the initialisation is not carried out via boost::mpi::environment?
Assuming the underlying MPI implementation supports it, is it safe to mix boost threads with boost MPI, at least at a FUNNELED level, carrying out all the MPI communications in the main thread?
thanks for your help,
Clément Rezvoy.
The authors will correct this if I'm wrong, but I believe that boost.MPI plays well with all MPI commands from your local implementation. Within the rules of MPI, any commands that can be used together can still be when you are using boost.MPI. If you aren't sure what commands are equivalent between standard MPI, and boost.MPI, check the conversion/equivalence table in the documentation. Mix and match between the different ways to say the same thing as you please. John