My main comment is this: there are plenty of functions to start *more*
MPI processes given one, and connect up any number of existing MPI
processes; now all that's missing is a standard function to start
*one* MPI process, given none. In other words, a function to make a
random process into a singleton MPI application (with its own
COMM_WORLD, rank=0, MPI_Comm_size=1).
With such a function we could dispense with mpirun and friends
altogether, and any application could just use this function to
"become" the first process, and then spawn all the rest of the
I suggest that this function already exists: we just need to specify
that if a non-MPI process (not started from mpirun or via MPI_Spawn)
calls MPI_Init() it becomes a singleton MPI process. The resource
issues that mpirun normally handles to start the rest of the processes
would be turned over to MPI_Spawn (giving the initial process more
dynamic control than with mpirun now).
Does this make sense? It's *definitely* the configuration I would use
all the time if it were available, since my MPI applications are
currently started by fork/exec from a parent process (the visual
programming environment). Currently (with no spawn at all) I have to
do this with an intervening shell script which starts all the MPI
processes (with mpirun), and then make MPI process 0 the master and
all the rest the slaves. If I could start the visual programming
environment as usual and have it "become" an MPI process dynamically
when someone requests a parallel operation, I could just MPI_Spawn all
the slaves directly from the environment (which would be the master,
saving me a process and a bunch of IPC).
I realize this won't replace mpirun entirely, because sometimes you
have to start *all* the tasks at the same time because of the resource
manager, but I think on any system that can support spawning it should
work well, and go beyond what you can do now with mpirun.
-- Gary Oberbrunner email@example.com Advanced Visual Systems, Inc. http://www.avs.com/~garyo 300 Fifth Avenue (617)890-8192 x2133 TEL Waltham, MA 02154 (617)890-8287 FAX