diff --git a/orte/mca/ess/pmi/ess_pmi_module.c b/orte/mca/ess/pmi/ess_pmi_module.c index fe544e1bd8..b06931f502 100644 --- a/orte/mca/ess/pmi/ess_pmi_module.c +++ b/orte/mca/ess/pmi/ess_pmi_module.c @@ -154,11 +154,11 @@ static int rte_init(void) } orte_process_info.my_node_rank = u16; - /* get universe size */ - OPAL_MODEX_RECV_VALUE(ret, OPAL_PMIX_UNIV_SIZE, + /* get max procs */ + OPAL_MODEX_RECV_VALUE(ret, OPAL_PMIX_MAX_PROCS, ORTE_PROC_MY_NAME, &u32ptr, OPAL_UINT32); if (OPAL_SUCCESS != ret) { - error = "getting univ size"; + error = "getting max procs"; goto error; } orte_process_info.max_procs = u32; diff --git a/orte/mca/ess/singleton/ess_singleton_module.c b/orte/mca/ess/singleton/ess_singleton_module.c index 4965a558a5..3a017d2464 100644 --- a/orte/mca/ess/singleton/ess_singleton_module.c +++ b/orte/mca/ess/singleton/ess_singleton_module.c @@ -217,14 +217,17 @@ static int rte_init(void) } orte_process_info.my_node_rank = u16; - /* get universe size */ - OPAL_MODEX_RECV_VALUE(ret, OPAL_PMIX_UNIV_SIZE, + /* get max procs */ + OPAL_MODEX_RECV_VALUE(ret, OPAL_PMIX_MAX_PROCS, ORTE_PROC_MY_NAME, &u32ptr, OPAL_UINT32); if (OPAL_SUCCESS != ret) { - error = "getting univ size"; + error = "getting max procs"; goto error; } - orte_process_info.num_procs = u32; + orte_process_info.max_procs = u32; + + /* we are a singleton, so there is only one proc in the job */ + orte_process_info.num_procs = 1; /* push into the environ for pickup in MPI layer for * MPI-3 required info key */ diff --git a/orte/orted/pmix/pmix_server_register_fns.c b/orte/orted/pmix/pmix_server_register_fns.c index 6ac2c340d7..e0ff4ead38 100644 --- a/orte/orted/pmix/pmix_server_register_fns.c +++ b/orte/orted/pmix/pmix_server_register_fns.c @@ -296,7 +296,7 @@ int orte_pmix_server_register_nspace(orte_job_t *jdata) kv = OBJ_NEW(opal_value_t); kv->key = strdup(OPAL_PMIX_UNIV_SIZE); kv->type = OPAL_UINT32; - kv->data.uint32 = jdata->num_procs; + kv->data.uint32 = jdata->total_slots_alloc; opal_list_append(info, &kv->super); /* job size */