I have implemented and committed (r18190) a new RMAPS module that
sequentially maps ranks to the hosts listed in a hostfile. You must set -mca
rmaps seq in order to access this module - it will -not- be selected any
other way.

The basic method of operation respects the hostfile descriptions on the wiki
page, but I will describe it here briefly as well:

1. if we are in a managed environment, we will only map to nodes within the
allocation. If your hostfile contains nodes outside the allocation, we will
report an error and abort. So if you want to map ranks sequentially, you
need to be sure that the hostfile describing this mapping contains only
hosts that -can- be mapped. In an unmanaged environment, we automatically
include all the nodes in any specified hostfiles, so this won't be a
problem.

2. if you specify a default-hostfile, we will use it - however, any
hostfiles specified for an app_context will override the default-hostfile.
Any apps that do -not- have a hostfile specified will be mapped sequentially
to the hosts in the default-hostfile

3. if your app_context does not specify a number of procs, we will
automatically map one proc to each and every entry in the hostfile

4. if your app_context does specify a number of procs, we will sequentially
map that number of procs, one to each entry in the hostfile. Multiple
app_contexts are supported, with the sequence continuing across the
app_contexts.

5. if you specify a number of procs greater than the number of entries in
your hostfile, we will map the overrun using byslot rules - i.e., we will
start by filling the remaining slots on the first node in your hostfile,
then proceed to fill the second node in your hostfile, etc.

6. if your allocation does not permit oversubscription, we will report an
error and abort if you attempt to place more procs on a node than slots.

Hope that helps
Ralph


Reply via email to