Changeset 1377 for XIOS/dev/XIOS_DEV_CMIP6/src/context_client.cpp
- Timestamp:
- 12/13/17 16:06:32 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/context_client.cpp
r1232 r1377 96 96 list<int> ranks = event.getRanks(); 97 97 98 if (CXios::checkEventSync) 99 { 100 int typeId, classId, typeId_in, classId_in, timeLine_out; 101 typeId_in=event.getTypeId() ; 102 classId_in=event.getClassId() ; 103 MPI_Allreduce(&timeLine,&timeLine_out, 1, MPI_UINT64_T, MPI_SUM, intraComm) ; 104 MPI_Allreduce(&typeId_in,&typeId, 1, MPI_INT, MPI_SUM, intraComm) ; 105 MPI_Allreduce(&classId_in,&classId, 1, MPI_INT, MPI_SUM, intraComm) ; 106 if (typeId/clientSize!=event.getTypeId() || classId/clientSize!=event.getClassId() || timeLine_out/clientSize!=timeLine) 107 { 108 ERROR("void CContextClient::sendEvent(CEventClient& event)", 109 << "Event are not coherent between client."); 110 } 111 } 112 98 113 if (!event.isEmpty()) 99 114 { … … 124 139 for (list<int>::const_iterator it = sizes.begin(); it != sizes.end(); it++) 125 140 tmpBufferedEvent.buffers.push_back(new CBufferOut(*it)); 126 141 info(100)<<"DEBUG : temporaly event created : timeline "<<timeLine<<endl ; 127 142 event.send(timeLine, tmpBufferedEvent.sizes, tmpBufferedEvent.buffers); 128 143 } … … 151 166 (*itBuffer)->put((char*)(*it)->start(), (*it)->count()); 152 167 168 info(100)<<"DEBUG : temporaly event sent "<<endl ; 153 169 checkBuffers(tmpBufferedEvent.ranks); 154 170 … … 230 246 for (int i = 0; i < context->serverPrimServer.size(); ++i) 231 247 context->serverPrimServer[i]->listen(); 248 // CServer::contextEventLoop(false) ; // avoid dead-lock at finalize... 232 249 } 233 250 … … 406 423 const std::list<int>& ranks = getRanksServerLeader(); 407 424 for (std::list<int>::const_iterator itRank = ranks.begin(), itRankEnd = ranks.end(); itRank != itRankEnd; ++itRank) 425 { 426 info(100)<<"DEBUG : Sent context Finalize event to rank "<<*itRank<<endl ; 408 427 event.push(*itRank, 1, msg); 428 } 409 429 sendEvent(event); 410 430 }
Note: See TracChangeset
for help on using the changeset viewer.