LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: David Cox (dcox158_at_[hidden])
Date: 2004-11-16 14:22:01


A while ago I posted a question asking how to start up
several processes such that LAM would automatically
wrap around if the number of programs was greater than
the number of CPUs. Per Jeff's suggestion, I
currently have a scipt that generates an app schema
like this:
c0 program0
c1 program1
...
cX programX.

However, if I have more programs than CPUs I get the
following error
mpirun: cannot start my_program on ?: invalid node
The same error also occurs with mpiexec c0 prog0 : c1
prog1 : etc.

Is there another way to do this, or is there a way for
my script to determine how many CPUs are available and
do the wrapping on its own? The original post is
below. Thanks,
Dave

===== original post & reply =================

On Sep 21, 2004, at 12:52 PM, David Cox wrote:

I need to launch several MPI programs in the same
MPI_COMM_WORLD, but only one copy of each. Is there a
way to do this and still take advantage of LAM's
scheduling for which CPU each process is on? Right
now mpiexec -n 1 prog1 : -n1 prog2 : .... etc will
launch all processes on my first host.

I realize that I can specify hosts and whatnot in an
app schema, but the number of process will vary, and I
would rather have LAM parse my hostfile and
distributed processes acccordingly. Any tips would be
great appreciated.

-Dave Cox

== reply from Jeff ===
You should be able to do:

mpiexec c0 prog0 : c1 prog1 : c2 prog2 ....

The cX value will automatically be "wrapped" by LAM if
you go over the total number of CPU's.

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com