Up-port of change for 2.x: if user directs oversubscribe, then do not bind as we will otherwise overload resources
Этот коммит содержится в:
родитель
743f426f96
Коммит
e6ad1ad621
@ -258,10 +258,14 @@ void orte_rmaps_base_map_job(int fd, short args, void *cbdata)
|
|||||||
} else {
|
} else {
|
||||||
orte_mapping_policy_t mpol;
|
orte_mapping_policy_t mpol;
|
||||||
mpol = ORTE_GET_MAPPING_POLICY(jdata->map->mapping);
|
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 */
|
* to binding to that object */
|
||||||
if (ORTE_MAPPING_POLICY_IS_SET(jdata->map->mapping) &&
|
if ((ORTE_MAPPING_SUBSCRIBE_GIVEN & ORTE_GET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping)) &&
|
||||||
ORTE_MAPPING_BYBOARD < mpol && mpol < ORTE_MAPPING_BYSLOT) {
|
!(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) {
|
if (ORTE_MAPPING_BYHWTHREAD == mpol) {
|
||||||
opal_output_verbose(5, orte_rmaps_base_framework.framework_output,
|
opal_output_verbose(5, orte_rmaps_base_framework.framework_output,
|
||||||
"mca:rmaps[%d] binding not given - using byhwthread", __LINE__);
|
"mca:rmaps[%d] binding not given - using byhwthread", __LINE__);
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user