Changeset 1355 for XIOS/dev/branch_openmp/extern/src_ep_dev/ep_message.cpp
- Timestamp:
- 12/05/17 16:24:42 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_message.cpp
r1347 r1355 38 38 39 39 40 #ifdef _openmpi40 //#ifdef _openmpi 41 41 #pragma omp critical (_mpi_call) 42 42 { … … 51 51 } 52 52 } 53 #elif _intelmpi 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); 67 #endif 53 //#elif _intelmpi 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 //#endif 68 66 69 67 if(flag) … … 118 116 Debug("Message probing for intracomm\n"); 119 117 120 #ifdef _openmpi118 //#ifdef _openmpi 121 119 #pragma omp critical (_mpi_call) 122 120 { … … 131 129 } 132 130 } 133 #elif _intelmpi 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); 147 #endif 131 148 132 149 133 if(flag) … … 185 169 Debug("Message probing for intracomm\n"); 186 170 187 #ifdef _openmpi171 //#ifdef _openmpi 188 172 #pragma omp critical (_mpi_call) 189 173 { … … 198 182 } 199 183 } 200 #elif _intelmpi 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); 214 #endif 184 215 185 216 186 if(flag)
Note: See TracChangeset
for help on using the changeset viewer.