Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] running multiple executables under Torque/PBS PRO
From: Ralph Castain (rhc_at_[hidden])
Date: 2009-11-10 19:56:40


You can use the relative host syntax, but you cannot use a "pernode"
or "npernode" option when you have more than one application on the
cmd line. You have to specify the number of procs for each
application, as the error message says. :-)

IIRC, the reason was that we couldn't decide on how to interpret the
cmd line - though looking at this example, I think I could figure it
out. Anyway, that is the problem.

HTH
Ralph

On Nov 10, 2009, at 5:48 PM, Tom Rosmond wrote:

> Ralph,
>
> I am using 1.3.2, so the relative node syntax certainly seems the
> way to
> go. However, I seem to be missing something. On the 'orte_hosts' man
> page near the top is the simple example:
>
> mpirun -pernode -host +n1,+n2 ./app1 : -host +n3,+n4 ./app2
>
> I set up my job to run on 4 nodes (4 processors/node), and slavishly
> copied this line into my PBS script. However, I got the following
> error
> message:
>
> --------------------------------------------------------------------------
> mpirun found multiple applications specified on the command line, with
> at least one that failed to specify the number of processes to
> execute.
> When specifying multiple applications, you must specify how many
> processes of each to launch via the -np argument.
> --------------------------------------------------------------------------
>
>
> I suspect an '-npernode 4' option, rather than '-pernode', is what I
> really need, since I want 4 processes per node. Either way,
> however, I
> don't think that explains the above error message. Correct? Do I
> still
> need to extract node-name information from the PBS_NODEFILE for this
> approach, and replace n1, n2, etc, with the actual node-names?
>
> T. Rosmond
>
>
>
>
> On Tue, 2009-11-10 at 14:54 -0700, Ralph Castain wrote:
>> What version are you trying to do this with?
>>
>> Reason I ask: in 1.3.x, we introduced relative node syntax for
>> specifying hosts to use. This would eliminate the need to create the
>> hostfiles.
>>
>> You might do a "man orte_hosts" (assuming you installed the man
>> pages)
>> and see what it says.
>>
>> Ralph
>>
>> On Nov 10, 2009, at 2:46 PM, Tom Rosmond wrote:
>>
>>> I want to run a number of MPI executables simultaneously in a PBS
>>> job.
>>> For example on my system I do 'cat $PBS_NODEFILE' and get a list
>>> like
>>> this:
>>>
>>> n04
>>> n04
>>> n04
>>> n04
>>> n06
>>> n06
>>> n06
>>> n06
>>> n07
>>> n07
>>> n07
>>> n07
>>> n09
>>> n09
>>> n09
>>> n09
>>>
>>> i.e, 16 processors on 4 nodes. from which I can parse into file(s)
>>> as
>>> desired. If I want to run prog1 on 1 node (4 processors), prog2
>>> on 1
>>> node (4 processors), and prog3 on 2 nodes (8 processors), I think
>>> the
>>> syntax will be something like:
>>>
>>> mpirun -np 4 --hostfile nodefile1 prog1: \
>>> -np 4 --hostfile nodefile2 prog2: \
>>> -np 8 --hostfile nodefile3 prog3
>>>
>>> Where nodefile1, nodefile2, and nodefile3 are the lists extracted
>>> from
>>> PBS_NODEFILE. Is this correct? Any suggestion/advice, (e.g. syntax
>>> of
>>> the 'nodefiles'), is appreciated.
>>>
>>> T. Rosmond
>>>
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users