[mpich-discuss] Running mpiexec/mpd only locally, possible?

Sebastian Nowozin nowozin at gmail.com
Thu Oct 30 05:59:24 CDT 2008


Hello,

I use a cluster system which uses sgetools as scheduler; there is no
integration with MPI.  Still users are able to run mpich2 by scheduling
by interactive login and scheduling mpd jobs.

I now want to run a program which needs at least two  MPI processes (0
and 1) to work.  Normally, the commands

(host1) mpd --listenport=1234 --daemon
(host*) mpd --host=host1 --port=1234
(host1) mpiexec -n 100 ./myjob
(host1) mpdallexit

do the job just fine.  I now want to run a program many times with just
two processes, like

(host1) mpd --listenport=1234 --daemon
(host1) mpd --host=host1 --port=1234 --daemon
(host1) mpiexec -n 2 ./myjob
(host1) mpdallexit

On many different host1's.  The problem is that as a single user I can
only run one mpd per host.

Is there some kind of wrapper-script, which can be run like:

(host1) mpiexec_local -n 2 ./myjob

which takes care of setting up a set of mpd's, runs mpiexec and tears
the mpd's down.  The mpd's should not interfere (nor even know) about
any other mpd's which might be running on that host.  This might be
really useful also for simple multicore systems where MPICH2 is used
instead of threads.

Thanks,
Sebastian



More information about the mpich-discuss mailing list