1
1

Up-port of change for 2.x: if user directs oversubscribe, then do not bind as we will otherwise overload resources

Этот коммит содержится в:
Ralph Castain 2016-04-28 13:21:10 -07:00
родитель 743f426f96
Коммит e6ad1ad621

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

@ -258,10 +258,14 @@ void orte_rmaps_base_map_job(int fd, short args, void *cbdata)
} else {
orte_mapping_policy_t mpol;
mpol = ORTE_GET_MAPPING_POLICY(jdata->map->mapping);
/* if the user explicitly mapped-by some object, then we default
/* if the user specified that we allow oversubscription, then do not bind.
* otherwise, if the user explicitly mapped-by some object, then we default
* to binding to that object */
if (ORTE_MAPPING_POLICY_IS_SET(jdata->map->mapping) &&
ORTE_MAPPING_BYBOARD < mpol && mpol < ORTE_MAPPING_BYSLOT) {
if ((ORTE_MAPPING_SUBSCRIBE_GIVEN & ORTE_GET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping)) &&
!(ORTE_MAPPING_NO_OVERSUBSCRIBE & ORTE_GET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping))) {
OPAL_SET_BINDING_POLICY(jdata->map->binding, OPAL_BIND_TO_NONE);
} else if (ORTE_MAPPING_POLICY_IS_SET(jdata->map->mapping) &&
ORTE_MAPPING_BYBOARD < mpol && mpol < ORTE_MAPPING_BYSLOT) {
if (ORTE_MAPPING_BYHWTHREAD == mpol) {
opal_output_verbose(5, orte_rmaps_base_framework.framework_output,
"mca:rmaps[%d] binding not given - using byhwthread", __LINE__);