Changeset 1639 for XIOS/trunk/src/event_scheduler.cpp
- Timestamp:
- 01/22/19 16:43:32 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/event_scheduler.cpp
r1638 r1639 8 8 9 9 10 CEventScheduler::CEventScheduler(const ep_lib::MPI_Comm& comm)11 { 12 ep_lib::MPI_Comm_dup(comm, &communicator) ;13 ep_lib::MPI_Comm_size(communicator,&mpiSize) ;14 ep_lib::MPI_Comm_rank(communicator,&mpiRank);10 CEventScheduler::CEventScheduler(const MPI_Comm& comm) 11 { 12 MPI_Comm_dup(comm, &communicator) ; 13 MPI_Comm_size(communicator,&mpiSize) ; 14 MPI_Comm_rank(communicator,&mpiRank); 15 15 16 16 … … 88 88 89 89 pendingSentParentRequest.push(sentRequest) ; 90 ep_lib::MPI_Isend(sentRequest->buffer,3, EP_UNSIGNED_LONG, parent[lev], 0, communicator, &sentRequest->request) ;90 MPI_Isend(sentRequest->buffer,3, MPI_UNSIGNED_LONG, parent[lev], 0, communicator, &sentRequest->request) ; 91 91 traceOn() ; 92 92 } … … 115 115 { 116 116 int completed ; 117 ep_lib::MPI_Status status ;117 MPI_Status status ; 118 118 int received ; 119 119 SPendingRequest* recvRequest ; … … 135 135 while(received) 136 136 { 137 #ifdef _usingMPI138 137 MPI_Iprobe(MPI_ANY_SOURCE,1,communicator,&received, &status) ; 139 #elif _usingEP140 ep_lib::MPI_Iprobe(-2,1,communicator,&received, &status) ;141 #endif142 138 if (received) 143 139 { 144 140 recvRequest=new SPendingRequest ; 145 #ifdef _usingMPI146 141 MPI_Irecv(recvRequest->buffer, 3, MPI_UNSIGNED_LONG, MPI_ANY_SOURCE, 1, communicator, &(recvRequest->request)) ; 147 #elif _usingEP148 ep_lib::MPI_Irecv(recvRequest->buffer, 3, EP_UNSIGNED_LONG, -2, 1, communicator, &(recvRequest->request)) ;149 #endif150 142 pendingRecvParentRequest.push(recvRequest) ; 151 143 } … … 157 149 { 158 150 recvRequest=pendingRecvParentRequest.front() ; 159 ep_lib::MPI_Test( &(recvRequest->request), &completed, &status) ;151 MPI_Test( &(recvRequest->request), &completed, &status) ; 160 152 if (completed) 161 153 { … … 177 169 // function call only by parent mpi process 178 170 179 ep_lib::MPI_Status status ;171 MPI_Status status ; 180 172 int received ; 181 173 received=true ; … … 185 177 while(received) 186 178 { 187 #ifdef _usingMPI188 179 MPI_Iprobe(MPI_ANY_SOURCE,0,communicator,&received, &status) ; 189 #elif _usingEP190 ep_lib::MPI_Iprobe(-2,0,communicator,&received, &status) ;191 #endif192 180 if (received) 193 181 { 194 182 recvRequest=new SPendingRequest ; 195 #ifdef _usingMPI196 183 MPI_Irecv(recvRequest->buffer, 3, MPI_UNSIGNED_LONG, MPI_ANY_SOURCE, 0, communicator, &recvRequest->request) ; 197 #elif _usingEP198 ep_lib::MPI_Irecv(recvRequest->buffer, 3, EP_UNSIGNED_LONG, -2, 0, communicator, &recvRequest->request) ;199 #endif200 184 pendingRecvChildRequest.push_back(recvRequest) ; 201 185 } … … 206 190 for(list<SPendingRequest*>::iterator it=pendingRecvChildRequest.begin(); it!=pendingRecvChildRequest.end() ; ) 207 191 { 208 ep_lib::MPI_Test(&((*it)->request),&received,&status) ;192 MPI_Test(&((*it)->request),&received,&status) ; 209 193 if (received) 210 194 { … … 244 228 for(list<SPendingRequest*>::iterator it=pendingSentChildRequest.begin(); it!=pendingSentChildRequest.end() ; ) 245 229 { 246 ep_lib::MPI_Test(&(*it)->request,&received,&status) ;230 MPI_Test(&(*it)->request,&received,&status) ; 247 231 if (received) 248 232 { … … 267 251 sentRequest->buffer[1]=contextHashId ; 268 252 sentRequest->buffer[2]=lev+1 ; 269 ep_lib::MPI_Isend(sentRequest->buffer,3, EP_UNSIGNED_LONG, child[lev][i], 1, communicator, & sentRequest->request) ;253 MPI_Isend(sentRequest->buffer,3, MPI_UNSIGNED_LONG, child[lev][i], 1, communicator, & sentRequest->request) ; 270 254 pendingSentChildRequest.push_back(sentRequest) ; 271 255 }
Note: See TracChangeset
for help on using the changeset viewer.