1
1

Fill in more of the process info structure when using PMI

This commit was SVN r28152.
Этот коммит содержится в:
Brian Barrett 2013-03-06 19:32:47 +00:00
родитель 1aa9e74767
Коммит db858827df
2 изменённых файлов: 4 добавлений и 8 удалений

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

@ -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);