# -*- text -*-
#
# Copyright (c) 2011      Oak Ridge National Labs.  All rights reserved.
# Copyright (c) 2013 Cisco Systems, Inc.  All rights reserved.
#
# $COPYRIGHT$
# 
# Additional copyrights may follow
# 
# $HEADER$
#
# This is the US/English general help file for LAMA Mapper.
#
[orte-rmaps-lama:multi-apps-and-zero-np]
RMAPS found multiple applications to be launched, 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.
#
[orte-rmaps-lama:oversubscribe]
RMaps LAMA detected oversubscription after mapping %d of %d processes.
Since you have asked not to oversubscribe the resources the job will not
be launched. If you would instead like to oversubscribe the resources
try using the --oversubscribe option to mpirun.
#
[orte-rmaps-lama:no-resources-available]
RMaps LAMA detected that there are not enough resources to map the
remainder of the job. Check the command line options, and the number of
nodes allocated to this job.
 Application Context : %d
 # of Processes Successfully Mapped: %d 
 # of Processes Requested          : %d
 Mapping  : %s
 Binding  : %s
 MPPR     : %s
 Ordering : %s
#
[orte-rmaps-lama:merge-conflict-bad-prune-src]
RMaps LAMA detected that it needed to prune a level of the hierarchy that
was necessary for one of the command line parameters. Check your allocation
and the options below to make sure they are correct.
 Conflicting Level Description: %s
 Mapping  : %s
 Binding  : %s
 MPPR     : %s
 Ordering : %s
#
[invalid mapping option]
The specified mapping option is not supported with the LAMA rmaps
mapper:

  Specified mapping option: %s
  Reason it is invalid:     %s

LAMA supports the following options to the mpirun --map-by option:

  node, numa, socket, l1cache, l2cache, l3cache, core, hwthread, slot

Alternatively, LAMA supports specifying a sequence of letters in the
rmaps_lama_map MCA parameter; each letter indicates a "direction" for
mapping.  The rmaps_lama_map MCA parameter is richer/more flexible
than the --may-by CLI option.  If rmaps_lama_map is specified, the
following letters must be specified:

  h:  hardware thread
  c:  processor core
  s:  processor socket
  n:  node (server)

The following may also optionally be included in the mapping string:

  N:  NUMA node
  L1: L1 cache
  L2: L2 cache
  L3: L3 cache

For example, the two commands below are equivalent:

    mpirun --mca rmaps lama --mca rmaps_lama_map csNh ...
    mpirun --mca rmaps lama --map-by core ...
#
[invalid binding option]
The specified binding option is not supported with the LAMA rmaps
mapper:

  Specified binding option: %s
  Reason it is invalid:     %s

LAMA binding options can be specified via the mpirun --bind-to command
line option or rmaps_lama_bind MCA param:

                    --bind-to  rmaps_lama_binding
  Locality            option         option
  ----------------  ---------  ------------------
  Hardware thread    hwthread          h
  Processor core       core            c
  Processor socket    socket           s
  NUMA node            numa            N
  L1 cache           l1cache           L1
  L2 cache           l2cache           L2
  L3 cache           l3cache           L3
  Node (server)        node            n

The --bind-to option assumes a single locality (e.g., bind each MPI
process to a single core, socket, etc.).  The rmaps_lama_bind MCA
param requires an integer specifying how many localities to which to
bind.  For example, the following two command lines are equivalent,
and bind each MPI process to a single core:

    mpirun --btl rmaps lama --mca rmaps_lama_bind 1c ...
    mpirun --btl rmaps lama --bind-to core ...

The rmaps_lama_bind MCA parameter is more flexible than the --bind-to
CLI option, because it allows binding to multiple resources.  For
example, specifing an rmaps_lama_bind value of "2c" binds each MPI
process to two cores.
#
[invalid ordering option]
The specified ordering option is not supported.

  Specified ordering option: %s

The LAMA ordering can be specified via the rmaps_lama_ordering MCA
parameter.

Two options are supported for ordering ranks in MPI_COMM_WORLD (MCW):

  s: Sequential.  MCW rank ordering is sequential by hardware thread
     across all nodes.  E.g., MCW rank 0 is the first process on node
     0; MCW rank 1 is the second process on node 0, and so on.
  n: Natural.  MCW rank ordering follows the "natural" mapping layout.
     For example, in a by-socket layout, MCW rank 0 is the first
     process on the 1st socket on node 0.  MCW rank 1 is then the
     first process on the 2nd socket on node 0.  And so on.
#
[invalid mppr option]
The specified Max Processes Per Resource (MPPR) value is invalid (in
the rmaps_lama_mppr MCA paramter):

  Specified MPPR:       %s
  Reason is is invalid: %s

The MPPR is a comma-delimited list of specifications indicating how
many processes are allowed on a given type of resource before an MPI
job is considered to have oversubscribed that resource.  Each
specification is a token in the format of "NUMBER:RESOURCE".  For
example, the default MPPR of "1:c" means that Open MPI will map one
process per processor core before considering cores to be
oversubscribed.

Multiple specifications may be useful; for example "1:c,2:s" maintains
the default one-process-per-core limitation, but places an additional
limitation of only two processes per processor socket (assuming that
there are more than two cores per socket).

The LAMA MPPR specifications are set via the rmaps_lama_mppr MCA
parameter.  The following resources can be specified:

  Hardware thread       h
  Processor core        c
  Processor socket      s
  NUMA node             N
  L1 cache              L1
  L2 cache              L2
  L3 cache              L3
  Node (server)         n
#
[internal error]
An unexpected internal error occurred in the LAMA mapper; your job
will now fail.  Sorry.

  File:    %s
  Message: %s
