static orte_vpid_t proc_get_daemon(orte_process_name_t *proc) { orte_nid_t *nid; if( ORTE_JOBID_IS_DAEMON(proc->jobid) ) { return proc->vpid; } if (NULL == (nid = orte_util_lookup_nid(proc))) { return ORTE_VPID_INVALID; } OPAL_OUTPUT_VERBOSE((2, orte_ess_base_output, "%s ess:slurm: proc %s is hosted by daemon %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(proc), ORTE_VPID_PRINT(nid->daemon))); return nid->daemon; }
static orte_vpid_t proc_get_daemon(orte_process_name_t *proc) { orte_proc_t *pdata; if( ORTE_JOBID_IS_DAEMON(proc->jobid) ) { return proc->vpid; } /* get the job data */ if (NULL == (pdata = find_proc(proc))) { return ORTE_VPID_INVALID; } OPAL_OUTPUT_VERBOSE((2, orte_ess_base_output, "%s ess:orcm: proc %s is hosted by daemon %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(proc), ORTE_VPID_PRINT(pdata->node->daemon->name.vpid))); return pdata->node->daemon->name.vpid; }
orte_nid_t* orte_util_lookup_nid(orte_process_name_t *proc) { orte_pmap_t *pmap; OPAL_OUTPUT_VERBOSE((5, orte_debug_output, "%s lookup:nid: looking for proc %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(proc))); if (ORTE_JOBID_IS_DAEMON(proc->jobid)) { /* looking for a daemon */ return find_daemon_node(proc); } /* looking for an application proc */ if (NULL == (pmap = orte_util_lookup_pmap(proc))) { return NULL; } /* the get_item function will check the array index range, * so we can just access it here */ return (orte_nid_t *) opal_pointer_array_get_item(&orte_nidmap, pmap->node); }