1
1

Remove an unused dstore type that was redundant with another one. Define a corresponding PMIX_NODE_ID type (contains the vpid of the daemon hosting the proc) and ensure that the PMIx server includes that info in its process map

Этот коммит содержится в:
Ralph Castain 2014-12-15 12:11:13 -08:00
родитель 2fbe87defe
Коммит 573a574a3c
3 изменённых файлов: 14 добавлений и 2 удалений

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

@ -51,6 +51,7 @@ BEGIN_C_DECLS
#define OPAL_DSTORE_MAX_PROCS PMIX_MAX_PROCS
#define OPAL_DSTORE_NPROC_OFFSET PMIX_NPROC_OFFSET
#define OPAL_DSTORE_HOSTNAME PMIX_HOSTNAME
#define OPAL_DSTORE_NODEID PMIX_NODE_ID
/* some OPAL-appropriate key definitions */
#define OPAL_DSTORE_LOCALITY "opal.locality" // (uint16_t) relative locality of a peer
@ -59,8 +60,6 @@ BEGIN_C_DECLS
#define OPAL_DSTORE_MY_SDIR "opal.my.session.dir" // (char*) session dir for this proc
#define OPAL_DSTORE_URI "opal.uri" // (char*) uri of specified proc
#define OPAL_DSTORE_ARCH "opal.arch" // (uint32_t) arch for specified proc
#define OPAL_DSTORE_HOSTID "opal.hostid" // (uint32_t) hostid of specified proc
#define OPAL_DSTORE_NODEID "opal.nodeid" // (uint32_t) nodeid of specified proc
END_C_DECLS

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

@ -93,6 +93,8 @@ typedef void (*opal_pmix_cbfunc_t)(int status, opal_value_t *kv, void *cbdata);
#define PMIX_NODE_RANK "pmix.nrank" // (uint16_t) rank on this node spanning all jobs
#define PMIX_LOCALLDR "pmix.lldr" // (uint64_t) opal_identifier of lowest rank on this node within this job
#define PMIX_APPLDR "pmix.aldr" // (uint32_t) lowest rank in this app within this job
#define PMIX_NODE_ID "pmix.nodeid" // (uint32_t) vpid of daemon hosting specified proc
/* proc location-related info */
#define PMIX_PROC_MAP "pmix.map" // (byte_object) packed map of proc locations within this job
#define PMIX_LOCAL_PEERS "pmix.lpeers" // (char*) comma-delimited string of ranks on this node within this job

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

@ -494,6 +494,17 @@ static int stuff_proc_values(opal_buffer_t *reply, orte_job_t *jdata, orte_proc_
return rc;
}
OBJ_DESTRUCT(&kv);
/* node id */
OBJ_CONSTRUCT(&kv, opal_value_t);
kv.key = strdup(PMIX_NODE_ID);
kv.type = OPAL_UINT32;
kv.data.uint32 = pptr->node->daemon->name.vpid;
if (OPAL_SUCCESS != (rc = opal_dss.pack(&buf2, &kp, 1, OPAL_VALUE))) {
ORTE_ERROR_LOG(rc);
OBJ_DESTRUCT(&kv);
return rc;
}
OBJ_DESTRUCT(&kv);
/* add the rank's blob */
OBJ_CONSTRUCT(&kv, opal_value_t);
kv.key = strdup(PMIX_PROC_MAP);