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
processes.
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.
thanks,
-- Gary Oberbrunner garyo@avs.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