Re: [myrinet] Multiple programs in one application

Craig Tierney <[email protected]>
Newsgroups gmane.network.myrinet.general
Message-ID <[email protected]>
You can run multiple jobs with mpich-gm.  That is if you are
going to put a little effor into it.  The functionality has
been removed from mpirun.ch_gm, but the underlying libraries
can do it.  At FSL we have a modified version of mpirun, but
I was able to easily modify that to support multiple executables.

If you want the original mpich syntax back, it may be pretty easy.
One question that I have is that if you run:

   mpirun -p4pg pgfile programsthatrunonnode0

Why would you run programs on node 0 if all the executables are
specfied in the pgfile?

If I were to implement this, I wouldn't am not sure I would want the
syntax you described.  Why specify the node name (amager, anholt, bogoe)
when the nodes are already in the ~/.gmpi/conf file unless you are trying
to run some codes on multiple nodes.

If you wanted to just create a special mpirun file to do this it should
be easy.  Look at lines 260 to 293 of mpirun.ch_gm (for mpich-1.2..5).  
This is the key to how mpirun starts a job.  For each process a command
line is formed, and then rsh is called (if on a remote node).  The most
important environment variable that gets set is GMPI_OPTS.

        $gmpi_opts = " GMPI_OPTS=m$lnode,n$nbnode ";

Each process must have a unique ID, and this is were it comes from.

I can give some directions on what to do if you are interested.
I am not fond of the format of the two examples you gave since
I let PBS determine which nodes a user gets, and I don't want them
to have to worry about rewrite a file in the formats you suggests.
Here we use syntax like:

   mpirun -np 4 a.out : -np 3 b.out

This would start a.out on 4 processors and b.out on 3 processors.

I may be able to make the code available, but I need to ask.  I am
hestitant because it is probably not directly useful to anybody
as mpirun has been modified for our local system and I don't know
how it would work with some trying to run a plain mpich-gm system
without PBS or any other hacks we have added.

Craig



On Mon, Mar 26, 2001 at 01:59:33PM -0500, Maria Hybinette wrote:
> 
> 
> 
> Hi, is there a way with MPICH-GM to run multiple programs in one
> application? For example, with LAM's MPI you can define different 
> programs using an "appfile" with the -v switch (mpirun -v appfile) 
> where appfile:
> 
>         {amager:ingrid:305} cat appfile
>         n0 hello-ping
>         n0-1 hello-pong
>         {amager:ingrid:304} mpirun -v appfile
> 
> 
> or with ANL's MPICH you can define different programs using the "procgroup 
> file" defined with the -p4pg switch (but here you can provide different 
> command line argument), i.e:
> 
>         {amager:ingrid:366} cat pgfile
>         amager 0 /net/hp20/ingrid/MPI/MPICC/hello-ping
>         anholt 1 /net/hp20/ingrid/MPI/MPICC/hello-pong
>         anholt 1 /net/hp20/ingrid/MPI/MPICC/hello-ping
>         bogoe  1 /net/hp20/ingrid/MPI/MPICC/hello-pong
>         {amager:ingrid:365} mpirun -p4pg pgfile programsthatrunonnode0
> 
> 
> Any help, or suggestion is appreciated.
>  
>  Thanks, 
>     Maria
> 
> 

-- 
Craig Tierney ([email protected])
phone: 303-497-3112
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.