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
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users