On Apr 25, 2008, at 2:27 PM, Roopesh Ojha wrote:
For our application, some processes (manager and the datastreams)
won't
take much CPU power while others will. Our application first assigns
the
non-compute bound processes and then the high CPU power ones.
Clearly we
would like to be able to assign the former processes to our two slower
machines. How can we get MPI to achieve this?
Sorry for the delay in replying.
I'm not entirely clear on exactly what you want to do. I think you're
saying that you have 4 nodes:
fastnode1
fastnode2
slownode1
slownode2
And you want to schedule some slow procs and fast procs. I think you
should be able to do something like:
mpirun -np 2 --host slownode1,slownode2 slowproc : \
-np 2 --host fastnode1,fastnode2 fastproc
What is the best way to
use
slot and max-slot commands in the hostfile to optimize performance?
These options are not really about performance; they're used for
distributing processes across nodes. In your case, those are tightly
integrated, but note that they're really different things.
*Never* tell OMPI that there are more slots than are actually
available on a host.
How
does max-slot behave when some node is listed more than once in the
hostfile?
IIRC, it's additive.
Is there any way to control where processes are deployed apart from
the
basic bynode or byslot round robin schedule?
In the v1.2 series, no. In the v1.3 series, some new patterns were
just implemented within the last week or three -- docs have not been
written up yet, but Ralph Castain described some of them on the devel
list. Have a look through those archives on the web for more detail
(I'd get the details wrong if I tried to explain them).
--
Jeff Squyres
Cisco Systems