Changeset 1081 for XIOS/dev/branch_yushan/src/client.cpp
- Timestamp:
- 03/31/17 20:26:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/client.cpp
r1080 r1081 44 44 //MPI_Init(NULL, NULL); 45 45 int return_level; 46 #ifdef _intelmpi47 46 MPI_Init_thread(NULL, NULL, 3, &return_level); 48 47 assert(return_level == 3); 49 #elif _openmpi50 MPI_Init_thread(NULL, NULL, 2, &return_level);51 assert(return_level == 2);52 #endif53 48 } 54 49 CTimer::get("XIOS").resume() ; … … 58 53 unsigned long hashClient=hashString(codeId) ; 59 54 unsigned long hashServer=hashString(CXios::xiosCodeId) ; 60 //hashServer=hashString("xios.x") ;61 55 unsigned long* hashAll ; 62 56 int size ; … … 66 60 MPI_Comm_size(CXios::globalComm,&size); 67 61 MPI_Comm_rank(CXios::globalComm,&rank); 68 69 printf("client init : rank = %d, size = %d\n", rank, size); 70 62 71 63 72 64 hashAll=new unsigned long[size] ; … … 120 112 MPI_Intercomm_create(intraComm,0,CXios::globalComm,serverLeader,0,&interComm) ; 121 113 122 int interCommSize, interCommRank ;123 MPI_Comm_size(interComm,&interCommSize) ;124 MPI_Comm_rank(interComm,&interCommRank) ;125 126 #pragma omp critical(_output)127 {128 info(50)<<" interCommRank :"<<interCommRank129 <<" interCommSize : "<< interCommSize << endl ;130 }131 132 133 114 } 134 115 else … … 186 167 void CClient::registerContext(const string& id,MPI_Comm contextComm) 187 168 { 169 //#pragma omp critical(_output) 188 170 //info(50) << "Client "<<getRank() << " start registerContext using info output" << endl; 189 printf("Client %d start registerContext\n", getRank());190 //printf("Client start registerContext\n");191 171 192 172 CContext::setCurrent(id) ; 193 printf("Client %d CContext::setCurrent OK\n", getRank());194 173 CContext* context = CContext::create(id); 195 printf("Client %d context=CContext::create(%s) OK, *context = %p\n", getRank(), id, &(*context)); 174 175 #pragma omp critical (_output) 176 printf("Client::registerContext context add = %p\n", &(*context)); 177 196 178 197 179 StdString idServer(id); … … 201 183 { 202 184 int size,rank,globalRank ; 203 size_t message_size ;204 int leaderRank ;185 //size_t message_size ; 186 //int leaderRank ; 205 187 MPI_Comm contextInterComm ; 206 188 … … 238 220 239 221 #pragma omp critical (_output) 240 printf("Client %d : MPI_Intercomm_merge OK \n", getRank()) ; 241 222 printf("Client %d context=CContext::create(%s) OK, context.identifier = %d\n", getRank(), id, context->get_identifier()); 242 223 243 224 context->initClient(contextComm,contextInterComm) ; 225 244 226 #pragma omp critical (_output) 245 227 printf("Client %d : context->initClient(contextComm,contextInterComm) OK \n", getRank()) ; … … 299 281 } 300 282 301 info(20) << "Client side context is finalized"<<endl ; 302 report(0) <<" Performance report : total time spent for XIOS : "<< CTimer::get("XIOS").getCumulatedTime()<<" s"<<endl ; 303 report(0)<< " Performance report : time spent for waiting free buffer : "<< CTimer::get("Blocking time").getCumulatedTime()<<" s"<<endl ; 304 report(0)<< " Performance report : Ratio : "<< CTimer::get("Blocking time").getCumulatedTime()/CTimer::get("XIOS").getCumulatedTime()*100.<<" %"<<endl ; 305 report(0)<< " Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server"<<endl ; 306 // report(0)<< " Memory report : Current buffer_size : "<<CXios::bufferSize<<endl ; 307 report(0)<< " Memory report : Minimum buffer size required : " << CClientBuffer::maxRequestSize << " bytes" << endl ; 308 report(0)<< " Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file"<<endl ; 283 284 //info(20) << "Client "<<rank<<" : Client side context is finalized "<< endl ; 285 // report(0) <<" Performance report : total time spent for XIOS : "<< CTimer::get("XIOS").getCumulatedTime()<<" s"<<endl ; 286 // report(0)<< " Performance report : time spent for waiting free buffer : "<< CTimer::get("Blocking time").getCumulatedTime()<<" s"<<endl ; 287 // report(0)<< " Performance report : Ratio : "<< CTimer::get("Blocking time").getCumulatedTime()/CTimer::get("XIOS").getCumulatedTime()*100.<<" %"<<endl ; 288 // report(0)<< " Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server"<<endl ; 289 // // report(0)<< " Memory report : Current buffer_size : "<<CXios::bufferSize<<endl ; 290 // report(0)<< " Memory report : Minimum buffer size required : " << CClientBuffer::maxRequestSize << " bytes" << endl ; 291 // report(0)<< " Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file"<<endl ; 292 293 309 294 } 310 295 … … 335 320 336 321 fileNameClient << fileName << "_" << std::setfill('0') << std::setw(numDigit) << getRank() << ext; 337 printf("getrank() = %d, file name = %s\n", getRank(), fileNameClient.str().c_str());322 //printf("getrank() = %d, file name = %s\n", getRank(), fileNameClient.str().c_str()); 338 323 339 324 fb->open(fileNameClient.str().c_str(), std::ios::out);
Note: See TracChangeset
for help on using the changeset viewer.