Changeset 1328 for XIOS/dev/branch_openmp/extern/src_ep_dev
- Timestamp:
- 11/15/17 12:14:34 (6 years ago)
- Location:
- XIOS/dev/branch_openmp/extern/src_ep_dev
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_fortran.cpp
r1287 r1328 31 31 { 32 32 fc_comm_map.insert(std::make_pair( std::make_pair( fint, omp_get_thread_num()) , comm)); 33 //printf("EP_Comm_c2f : MAP %p insert: %d, %d, %p\n", &fc_comm_map, fint, omp_get_thread_num(), comm.ep_comm_ptr);33 printf("EP_Comm_c2f : MAP %p insert: %d, %d, %p\n", &fc_comm_map, fint, omp_get_thread_num(), comm.ep_comm_ptr); 34 34 } 35 35 } … … 54 54 MPI_Comm comm_ptr; 55 55 comm_ptr = it->second; 56 //printf("EP_Comm_f2c : MAP %p find: %d, %d, %p\n", &fc_comm_map, it->first.first, it->first.second, comm_ptr.ep_comm_ptr);56 printf("EP_Comm_f2c : MAP %p find: %d, %d, %p\n", &fc_comm_map, it->first.first, it->first.second, comm_ptr.ep_comm_ptr); 57 57 return comm_ptr; 58 58 } -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_intercomm.cpp
r1287 r1328 47 47 48 48 MPI_Waitall(2, request, status); 49 50 //MPI_Send(&leader_ranks[0], 3, static_cast< ::MPI_Datatype>(MPI_INT), remote_leader, tag, peer_comm); 51 //MPI_Recv(&leader_ranks[3], 3, static_cast< ::MPI_Datatype>(MPI_INT), remote_leader, tag, peer_comm, &status[1]); 49 52 } 50 53 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_lib.cpp
r1295 r1328 10 10 #pragma omp threadprivate(EP_PendingRequests) 11 11 12 13 12 14 namespace ep_lib 13 15 { 16 bool MPI_Comm::is_null() 17 { 18 if(!this->is_intercomm) 19 return this->mpi_comm == MPI_COMM_NULL.mpi_comm; 20 else 21 return this->ep_comm_ptr->intercomm->mpi_inter_comm == MPI_COMM_NULL.mpi_comm; 22 } 14 23 15 24 int tag_combine(int real_tag, int src, int dest) -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_send.cpp
r1295 r1328 19 19 if(!comm.is_ep) 20 20 return ::MPI_Send(buf, count, to_mpi_type(datatype), dest, tag, to_mpi_comm(comm.mpi_comm)); 21 22 MPI_Request request; 23 MPI_Status status; 24 MPI_Isend(buf, count, datatype, dest, tag, comm, &request); 25 MPI_Wait(&request, &status); 26 21 if(comm.is_intercomm) 22 { 23 MPI_Request request; 24 MPI_Status status; 25 MPI_Isend(buf, count, datatype, dest, tag, comm, &request); 26 MPI_Wait(&request, &status); 27 } 28 else 29 { 30 int ep_src_loc = comm.ep_comm_ptr->size_rank_info[1].first; 31 int ep_dest_loc = comm.ep_comm_ptr->comm_list->rank_map->at(dest).first; 32 int mpi_tag = tag_combine(tag, ep_src_loc, ep_dest_loc); 33 int mpi_dest = comm.ep_comm_ptr->comm_list->rank_map->at(dest).second; 34 35 ::MPI_Send(buf, count, to_mpi_type(datatype), mpi_dest, mpi_tag, to_mpi_comm(comm.mpi_comm)); 36 //printf("call mpi_send for intracomm, dest = %d, tag = %d\n", dest, tag); 37 } 27 38 //check_sum_send(buf, count, datatype, dest, tag, comm); 28 39 -
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_type.hpp
r1295 r1328 344 344 } 345 345 346 bool is_null(); 347 346 348 }; 347 349
Note: See TracChangeset
for help on using the changeset viewer.