PRRTE automatically ranks processes for each job starting from zero. Regardless of the algorithm used, rank assignments span applications in the same job — i.e., a command line of
-n 3 app1 : -n 2 app2
will result in app1 having three processes ranked 0-2 and app2
having two processes ranked 3-4.
By default, process ranks are assigned in accordance with the mapping
directive — e.g., jobs that are mapped by-node will have the process
ranks assigned round-robin on a per-node basis. However, users can override
the default by specifying any of the following directives using the
--rank-by command line option:
SLOTassigns ranks to each process on a node in the order in which the mapper assigned them. This is the default behavior, but is provided as an explicit option to allow users to override any alternative default specified in the environment. When mapping to a specific resource type, procs assigned to a given instance of that resource on a node will be ranked on a per-resource basis on that node before moving to the next node.NODEassigns ranks round-robin on a per-node basisFILLassigns ranks to procs mapped to a particular resource type on each node, filling all ranks on that resource before moving to the next resource on that node. For example, procs mapped byL1cachewould have all procs on the firstL1cacheranked sequentially before moving to the secondL1cacheon the node. Once all procs on the node have been ranked, ranking would continue on the next node.SPANassigns ranks round-robin to procs mapped to a particular resource type, treating the collection of resource instances spanning the entire allocation as a single “super node” before looping around for the next pass. Thus, ranking would begin with the first proc on the firstL1cacheon the first node, then the next rank would be assigned to the first proc on the secondL1cacheon that node, proceeding across until the first proc had been ranked on allL1cacheused by the job before circling around to rank the second proc on each object.
The rank-by command line option has no qualifiers.
Note
Directives are case-insensitive. SPAN is the same as
span.
A more detailed description of the mapping, ranking, and binding
procedure can be obtained via the --help placement option.