1
1

Cleanly error out when someone asks to map-to <object> if that object doesn't exist on a node.

This commit was SVN r26950.
Этот коммит содержится в:
Ralph Castain 2012-08-04 21:52:36 +00:00
родитель 61b09a132b
Коммит 53b1a1c976
2 изменённых файлов: 18 добавлений и 0 удалений

Просмотреть файл

@ -196,3 +196,11 @@ was detected to be missing a daemon:
This usually indicates a mismatch between what the This usually indicates a mismatch between what the
allocation provided for the node name versus what was allocation provided for the node name versus what was
actually found on the node. actually found on the node.
#
[orte-rmaps-base:no-objects]
No objects of the specified type were found on at least one node:
Type: %s
Node: %s
The map cannot be done as specified.

Просмотреть файл

@ -525,6 +525,16 @@ int orte_rmaps_rr_byobj(orte_job_t *jdata,
nobjs = opal_hwloc_base_get_nbobjs_by_type(node->topology, target, cache_level, OPAL_HWLOC_AVAILABLE); nobjs = opal_hwloc_base_get_nbobjs_by_type(node->topology, target, cache_level, OPAL_HWLOC_AVAILABLE);
opal_output_verbose(2, orte_rmaps_base.rmaps_output, opal_output_verbose(2, orte_rmaps_base.rmaps_output,
"mca:rmaps:rr:byobj: found %d objs on node %s", nobjs, node->name); "mca:rmaps:rr:byobj: found %d objs on node %s", nobjs, node->name);
/* if there are no objects of this type, then report the error
* and abort - this can happen, for example, on systems that
* don't report "sockets" as an independent object
*/
if (0 == nobjs) {
orte_show_help("help-orte-rmaps-base.txt", "orte-rmaps-base:no-objects",
true, hwloc_obj_type_string(target), node->name);
return ORTE_ERR_SILENT;
}
/* compute the number of procs to go on each object */ /* compute the number of procs to go on each object */
nperobj = num_procs_to_assign / nobjs; nperobj = num_procs_to_assign / nobjs;
opal_output_verbose(2, orte_rmaps_base.rmaps_output, opal_output_verbose(2, orte_rmaps_base.rmaps_output,