Changeset 1347 for XIOS/dev/branch_openmp/extern
- Timestamp:
- 11/27/17 13:46:40 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_message.cpp
r1295 r1347 52 52 } 53 53 #elif _intelmpi 54 ::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &message, &status); 54 #pragma omp critical (_mpi_call) 55 { 56 ::MPI_Iprobe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &status); 57 if(flag) 58 { 59 Debug("find message in mpi comm \n"); 60 mpi_source = status.MPI_SOURCE; 61 int tag = status.MPI_TAG; 62 ::MPI_Mprobe(mpi_source, tag, to_mpi_comm(comm.mpi_comm), &message, &status); 63 64 } 65 } 66 //::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &message, &status); 55 67 #endif 56 68 … … 120 132 } 121 133 #elif _intelmpi 122 ::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &flag, &message, &status); 134 #pragma omp critical (_mpi_call) 135 { 136 ::MPI_Iprobe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &flag, &status); 137 if(flag) 138 { 139 Debug("find message in mpi comm \n"); 140 mpi_source = status.MPI_SOURCE; 141 int tag = status.MPI_TAG; 142 ::MPI_Mprobe(mpi_source, tag, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &message, &status); 143 144 } 145 } 146 //::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.ep_comm_ptr->intercomm->mpi_inter_comm), &flag, &message, &status); 123 147 #endif 124 148 … … 175 199 } 176 200 #elif _intelmpi 177 ::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &message, &status); 201 #pragma omp critical (_mpi_call) 202 { 203 ::MPI_Iprobe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &status); 204 if(flag) 205 { 206 Debug("find message in mpi comm \n"); 207 mpi_source = status.MPI_SOURCE; 208 int tag = status.MPI_TAG; 209 ::MPI_Mprobe(mpi_source, tag, to_mpi_comm(comm.mpi_comm), &message, &status); 210 211 } 212 } 213 //::MPI_Improbe(MPI_ANY_SOURCE, MPI_ANY_TAG, to_mpi_comm(comm.mpi_comm), &flag, &message, &status); 178 214 #endif 179 215
Note: See TracChangeset
for help on using the changeset viewer.