[MPICH] Changing the comm size at runtime

Patrick Gräbel pgraebel at stud.fh-dortmund.de
Thu Mar 15 16:23:22 CDT 2007


Hey, looks like you are the author of the book "Using MPI-2" that I am
just reading :) The book has a nice and easy to understand example. Now
I can dynamically add/remove a slave to/from the master. Works fine.

But I want to avoid the usage of mpiexec, so I tried to use the hint
"Debugging jobs by starting them manually" from the MPICH windev pdf: It
is possible to set some environment variables to get an MPI programm
directly work w/o mpiexec. This method works for Intracomm (e.g. setting
size env var to 2, MPI::Init block until 2 ranks are available), but I
have no idea how to get it work with two separate MPI programms that use
Intercomm: accept and connect block forever on both sides and don't meet
up (size set to 1, rank to 0 on both sides)...

Greetings
Patrick

Rajeev Thakur schrieb:
>> You can use all MPI communication functions, including collectives. It
> will
>> be the intercommunicator version of the collectives defined in MPI-2, as
> the
>> communicator returned by a connect-accept is an intercommunicator.
> 
> I should point out that you can also create an intracommunicator from an
> intercommunicator by using MPI_Intercomm_merge and then use the regular
> intracommunicator collectives if that's what you need.
> 
> Rajeev
> 
> 




More information about the mpich-discuss mailing list