Changeset 1500 for XIOS/dev/branch_openmp/extern/ep_dev/ep_get.cpp
- Timestamp:
- 05/28/18 09:54:32 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/ep_dev/ep_get.cpp
r1398 r1500 12 12 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) 13 13 { 14 int target_mpi_rank = win .comm.rank_map->at(target_rank).second;15 int target_local_rank = win .comm.rank_map->at(target_rank).first;16 int num_ep = win .comm.ep_comm_ptr->size_rank_info[1].second;14 int target_mpi_rank = win->comm->rank_map->at(target_rank).second; 15 int target_local_rank = win->comm->rank_map->at(target_rank).first; 16 int num_ep = win->comm->ep_comm_ptr->size_rank_info[1].second; 17 17 if(num_ep==1) 18 18 return ::MPI_Get(origin_addr, origin_count, to_mpi_type(origin_datatype), target_mpi_rank, to_mpi_aint(target_disp), target_count, to_mpi_type(target_datatype), 19 to_mpi_win(win .server_win[target_local_rank]));19 to_mpi_win(win->server_win[target_local_rank])); 20 20 21 21 else 22 22 return ::MPI_Get(origin_addr, origin_count, to_mpi_type(origin_datatype), target_mpi_rank, to_mpi_aint(target_disp), target_count, to_mpi_type(target_datatype), 23 to_mpi_win(win .client_win));23 to_mpi_win(win->client_win)); 24 24 } 25 25 … … 27 27 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request) 28 28 { 29 int target_mpi_rank = win .comm.rank_map->at(target_rank).second;30 int target_local_rank = win .comm.rank_map->at(target_rank).first;31 int num_ep = win .comm.ep_comm_ptr->size_rank_info[1].second;29 int target_mpi_rank = win->comm->rank_map->at(target_rank).second; 30 int target_local_rank = win->comm->rank_map->at(target_rank).first; 31 int num_ep = win->comm->ep_comm_ptr->size_rank_info[1].second; 32 32 33 33 ::MPI_Request mpi_request; … … 35 35 { 36 36 int return_value = ::MPI_Rget(origin_addr, origin_count, to_mpi_type(origin_datatype), target_mpi_rank, to_mpi_aint(target_disp), target_count, to_mpi_type(target_datatype), 37 to_mpi_win(win .server_win[target_local_rank]), &mpi_request);37 to_mpi_win(win->server_win[target_local_rank]), &mpi_request); 38 38 39 request->mpi_request = new ::MPI_Request(mpi_request);39 (*request)->mpi_request = new ::MPI_Request(mpi_request); 40 40 41 request->ep_datatype = origin_datatype;42 request->type = 1;41 (*request)->ep_datatype = origin_datatype; 42 (*request)->type = 1; 43 43 return return_value; 44 44 } … … 46 46 { 47 47 int return_value = ::MPI_Rget(origin_addr, origin_count, to_mpi_type(origin_datatype), target_mpi_rank, to_mpi_aint(target_disp), target_count, to_mpi_type(target_datatype), 48 to_mpi_win(win .client_win), &mpi_request);48 to_mpi_win(win->client_win), &mpi_request); 49 49 50 request->mpi_request = new ::MPI_Request(mpi_request);50 (*request)->mpi_request = new ::MPI_Request(mpi_request); 51 51 52 request->ep_datatype = origin_datatype;53 request->type = 1;52 (*request)->ep_datatype = origin_datatype; 53 (*request)->type = 1; 54 54 return return_value; 55 55 }
Note: See TracChangeset
for help on using the changeset viewer.