Fill in more of the process info structure when using PMI
This commit was SVN r28152.
Этот коммит содержится в:
родитель
1aa9e74767
Коммит
db858827df
@ -81,7 +81,6 @@ struct ompi_process_info_t {
|
||||
int app_num;
|
||||
pid_t pid;
|
||||
ompi_vpid_t num_procs;
|
||||
ompi_node_rank_t my_node_rank;
|
||||
ompi_local_rank_t my_local_rank;
|
||||
ompi_node_rank_t num_local_peers;
|
||||
char *my_hnp_uri;
|
||||
@ -93,7 +92,6 @@ struct ompi_process_info_t {
|
||||
char nodename[100]; /* BWB: FIX ME: This really needs to be a rational constant */
|
||||
};
|
||||
typedef struct ompi_process_info_t ompi_process_info_t;
|
||||
#define OMPI_NODE_RANK_INVALID (-1)
|
||||
#define OMPI_LOCAL_RANK_INVALID (-1)
|
||||
|
||||
|
||||
|
@ -116,9 +116,10 @@ ompi_rte_init(int *argc, char ***argv)
|
||||
node_ranks = malloc(tmp * sizeof(int));
|
||||
if (NULL == node_ranks) return OMPI_ERROR;
|
||||
PMI_Get_clique_ranks(node_ranks, tmp);
|
||||
for (i = 0 ; i < tmp ; ++i) {
|
||||
ompi_process_info.num_local_peers = tmp;
|
||||
for (i = 0 ; i < ompi_process_info.num_local_peers ; ++i) {
|
||||
if (rank == node_ranks[i]) {
|
||||
ompi_process_info.my_node_rank = i;
|
||||
ompi_process_info.my_local_rank = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -126,9 +127,6 @@ ompi_rte_init(int *argc, char ***argv)
|
||||
ompi_process_info.peer_modex = 0;
|
||||
ompi_process_info.peer_init_barrier = 0;
|
||||
ompi_process_info.peer_fini_barrier = 0;
|
||||
ompi_process_info.my_node_rank = OMPI_NODE_RANK_INVALID; /* BWB: FIX ME */
|
||||
ompi_process_info.my_local_rank = OMPI_LOCAL_RANK_INVALID; /* BWB: FIX ME */
|
||||
ompi_process_info.num_local_peers = 0; /* BWB: FIX ME */
|
||||
ompi_process_info.job_session_dir = NULL; /* BWB: FIX ME */
|
||||
ompi_process_info.proc_session_dir = NULL; /* BWB: FIX ME */
|
||||
gethostname(ompi_process_info.nodename, sizeof(ompi_process_info.nodename));
|
||||
@ -180,7 +178,7 @@ ompi_rte_init(int *argc, char ***argv)
|
||||
|
||||
asprintf(&node_info, "%s,%d",
|
||||
ompi_process_info.nodename,
|
||||
ompi_process_info.my_node_rank);
|
||||
ompi_process_info.my_local_rank);
|
||||
ret = ompi_rte_db_store(OMPI_PROC_MY_NAME, OMPI_DB_RTE_INFO, node_info, OPAL_STRING);
|
||||
if (OMPI_SUCCESS != ret) return ret;
|
||||
free(node_info);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user