[MPICH] Changing the comm size at runtime

Patrick Gräbel pgraebel at stud.fh-dortmund.de
Thu Mar 15 17:26:21 CDT 2007


I read your book's appendix about "Another way for MPI Processes to
Start" and the Forum's explanation: So a "high quality" implementation
of MPI-2's MPI::Init allows to transform a plain process to a MPI
process at runtime, no mpiexec needed.

In order to test this, I removed all manipulations of env vars and just
relied on MPI::Init. I also tried to test master and slave with and
without mpd running in background (I am using Cygwin/gcc build atm,
tomorrow I will test it with VC++ build/smpd). The result:

without mpd in background:
- port creation ok, accept blocks
- connect fails with "cannot connect to local mpd"

with mpd in background:
- port creation ok, accept blocks forever
- connect blocks forever

Using "mpiexec -n 1 ..." on master and slave works fine as usual.

I got stuck here... :(

Greetings
Patrick

Rajeev Thakur schrieb:
> You should be able to use the singleton init feature of MPI-2 by which a
> program not started with mpiexec can become an MPI program by calling
> MPI_Init. No environment variable needed. Then two such programs can connect
> to each other with MPI_Comm_connect/accept. This should work at least in
> MPICH2 on Unix. If it doesn't work on Windows let us know.
> 
> Rajeev




More information about the mpich-discuss mailing list