Changeset 1518 for XIOS/dev/branch_openmp/extern/ep_dev/ep_dup.cpp
- Timestamp:
- 06/01/18 19:36:12 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/ep_dev/ep_dup.cpp
r1517 r1518 85 85 printf("new out_comm[%d]->ep_comm_ptr->intercomm = %p\n", i, out_comm[i]->ep_comm_ptr->intercomm); 86 86 #endif 87 out_comm[i]->ep_comm_ptr->intercomm->mpi_inter_comm = mpi_inter_comm; 87 out_comm[i]->ep_comm_ptr->intercomm->mpi_inter_comm = mpi_inter_comm; 88 88 } 89 89 … … 104 104 (*newcomm)->ep_comm_ptr->intercomm->size_rank_info[2] = comm->ep_comm_ptr->intercomm->size_rank_info[2]; 105 105 106 (*newcomm)->ep_comm_ptr->intercomm->intercomm_tag = comm->ep_comm_ptr->intercomm->intercomm_tag; 107 106 108 107 109 int ep_rank_loc = (*newcomm)->ep_comm_ptr->size_rank_info[1].first; … … 109 111 if(ep_rank_loc == 0) 110 112 { 111 //printf("in dup , ep_rank_loc = 0 : ep %d\n", (*newcomm)->ep_comm_ptr->size_rank_info[0].first); 113 int world_rank; 114 MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); 115 112 116 (*newcomm)->ep_comm_ptr->intercomm->intercomm_rank_map = new INTERCOMM_RANK_MAP; 113 117 (*newcomm)->ep_comm_ptr->intercomm->local_rank_map = new EP_RANK_MAP; 114 118 115 119 *(*newcomm)->ep_comm_ptr->intercomm->intercomm_rank_map = *comm->ep_comm_ptr->intercomm->intercomm_rank_map; 116 *(*newcomm)->ep_comm_ptr->intercomm->local_rank_map = *comm->ep_comm_ptr->intercomm->local_rank_map;120 *(*newcomm)->ep_comm_ptr->intercomm->local_rank_map = *comm->ep_comm_ptr->intercomm->local_rank_map; 117 121 } 118 122 … … 121 125 if(ep_rank_loc !=0 ) 122 126 { 123 (*newcomm)->ep_comm_ptr->intercomm->intercomm_rank_map = (*newcomm)->ep_comm_ptr->comm_list[0]->ep_comm_ptr->intercomm->intercomm_rank_map; 124 (*newcomm)->ep_comm_ptr->intercomm->local_rank_map = (*newcomm)->ep_comm_ptr->comm_list[0]->ep_comm_ptr->intercomm->local_rank_map; 127 int target = (*newcomm)->ep_comm_ptr->intercomm->intercomm_tag; 128 (*newcomm)->ep_comm_ptr->intercomm->intercomm_rank_map = (*newcomm)->ep_comm_ptr->comm_list[target]->ep_comm_ptr->intercomm->intercomm_rank_map; 129 (*newcomm)->ep_comm_ptr->intercomm->local_rank_map = (*newcomm)->ep_comm_ptr->comm_list[target]->ep_comm_ptr->intercomm->local_rank_map; 125 130 } 126 131
Note: See TracChangeset
for help on using the changeset viewer.