1
1

Continue adding support for options on orte-submit - still need to shift some of the MCA params to job object attributes

Этот коммит содержится в:
Ralph Castain 2015-02-10 13:56:14 -08:00
родитель 116fcaff2c
Коммит 46fb850bb0
2 изменённых файлов: 26 добавлений и 4 удалений

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

@ -552,7 +552,6 @@ int main(int argc, char *argv[])
/* create the map object to communicate policies */
jdata->map = OBJ_NEW(orte_job_map_t);
/* if they asked for nolocal, mark it so */
if (NULL != myglobals.mapping_policy) {
if (ORTE_SUCCESS != (rc = orte_rmaps_base_set_mapping_policy(&jdata->map->mapping, NULL, myglobals.mapping_policy))) {
ORTE_ERROR_LOG(rc);
@ -567,6 +566,15 @@ int main(int argc, char *argv[])
exit(rc);
}
}
if (NULL != myglobals.binding_policy) {
if (ORTE_SUCCESS != (rc = opal_hwloc_base_set_binding_policy(&jdata->map->binding,
myglobals.binding_policy))) {
ORTE_ERROR_LOG(rc);
exit(rc);
}
}
/* if they asked for nolocal, mark it so */
if (myglobals.nolocal) {
ORTE_SET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_NO_USE_LOCAL);
}
@ -576,7 +584,19 @@ int main(int argc, char *argv[])
if (myglobals.oversubscribe) {
ORTE_UNSET_MAPPING_DIRECTIVE(jdata->map->mapping, ORTE_MAPPING_NO_OVERSUBSCRIBE);
}
if (myglobals.report_bindings) {
orte_set_attribute(&jdata->attributes, ORTE_JOB_REPORT_BINDINGS, ORTE_ATTR_GLOBAL, NULL, OPAL_BOOL);
}
if (myglobals.slot_list) {
orte_set_attribute(&jdata->attributes, ORTE_JOB_SLOT_LIST, ORTE_ATTR_GLOBAL, myglobals.slot_list, OPAL_STRING);
}
if (NULL == myglobals.personality) {
/* default to ompi */
jdata->personality = strdup("ompi");
} else {
jdata->personality = strdup(myglobals.personality);
}
opal_dss.dump(0, jdata, ORTE_JOB);
exit(0);

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

@ -122,8 +122,10 @@ typedef uint16_t orte_job_flags_t;
#define ORTE_JOB_INIT_BAR_ID (ORTE_JOB_START_KEY + 31) // orte_grpcomm_coll_id_t - collective id
#define ORTE_JOB_FINI_BAR_ID (ORTE_JOB_START_KEY + 32) // orte_grpcomm_coll_id_t - collective id
#define ORTE_JOB_FWDIO_TO_TOOL (ORTE_JOB_START_KEY + 33) // Forward IO for this job to the tool requesting its spawn
#define ORTE_JOB_PHYSICAL_CPUIDS (ORTE_JOB_START_KEY + 34) // Hostfile contains physical jobids in cpuset
#define ORTE_JOB_LAUNCHED_DAEMONS (ORTE_JOB_START_KEY + 35) // Job caused new daemons to be spawned
#define ORTE_JOB_PHYSICAL_CPUIDS (ORTE_JOB_START_KEY + 34) // bool - Hostfile contains physical jobids in cpuset
#define ORTE_JOB_LAUNCHED_DAEMONS (ORTE_JOB_START_KEY + 35) // bool - Job caused new daemons to be spawned
#define ORTE_JOB_REPORT_BINDINGS (ORTE_JOB_START_KEY + 36) // bool - Report process bindings
#define ORTE_JOB_SLOT_LIST (ORTE_JOB_START_KEY + 37) // string - constraints on cores to use
#define ORTE_JOB_MAX_KEY 300