Changeset 1601 for XIOS/dev/dev_trunk_omp/src/context_server.cpp
- Timestamp:
- 11/19/18 15:52:54 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/src/context_server.cpp
r1230 r1601 18 18 #include <boost/functional/hash.hpp> 19 19 20 20 using namespace ep_lib; 21 21 22 22 namespace xios … … 81 81 82 82 traceOff(); 83 MPI_Iprobe( MPI_ANY_SOURCE, 20,interComm,&flag,&status);83 MPI_Iprobe(-2, 20,interComm,&flag,&status); 84 84 traceOn(); 85 85 86 86 if (flag==true) 87 87 { 88 #ifdef _usingMPI 88 89 rank=status.MPI_SOURCE ; 90 #elif _usingEP 91 rank=status.ep_src ; 92 #endif 89 93 okLoop = true; 90 94 if (pendingRequest.find(rank)==pendingRequest.end()) … … 112 116 char * addr; 113 117 map<int,CServerBuffer*>::iterator it; 118 #ifdef _usingMPI 114 119 int rank=status.MPI_SOURCE ; 120 #elif _usingEP 121 int rank=status.ep_src; 122 #endif 115 123 116 124 it=buffers.find(rank); … … 118 126 { 119 127 StdSize buffSize = 0; 120 MPI_Recv(&buffSize, 1, MPI_LONG, rank, 20, interComm, &status); 128 MPI_Request request; 129 130 MPI_Irecv(&buffSize, 1, MPI_LONG, rank, 20, interComm, &request); 131 MPI_Wait(&request, &status); 121 132 mapBufferSize_.insert(std::make_pair(rank, buffSize)); 122 133 it=(buffers.insert(pair<int,CServerBuffer*>(rank,new CServerBuffer(buffSize)))).first; … … 132 143 bufferRequest[rank]=addr; 133 144 return true; 134 145 } 135 146 else 136 147 return false; … … 253 264 { 254 265 finished=true; 266 #pragma omp critical (_output) 255 267 info(20)<<" CContextServer: Receive context <"<<context->getId()<<"> finalize."<<endl; 256 268 context->finalize(); … … 260 272 { 261 273 rank = itMap->first; 274 #pragma omp critical (_output) 262 275 report(10)<< " Memory report : Context <"<<ctxId<<"> : server side : memory used for buffer of each connection to client" << endl 263 276 << " +) With client of rank " << rank << " : " << itMap->second << " bytes " << endl; 264 277 totalBuf += itMap->second; 265 278 } 279 #pragma omp critical (_output) 266 280 report(0)<< " Memory report : Context <"<<ctxId<<"> : server side : total memory used for buffer "<<totalBuf<<" bytes"<<endl; 267 281 }
Note: See TracChangeset
for help on using the changeset viewer.