Ignore:
Timestamp:
11/06/19 11:03:38 (5 years ago)
Author:
ymipsl
Message:

Some cleaning On XIOS services branch

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_SERVICES/src/cxios.cpp

    r1764 r1765  
    180180 
    181181    // Initialize all aspects MPI 
    182    // CServer::initialize(); 
    183  
    184182    CServer::initialize(); 
    185  
    186     //if (CServer::getRank()==0 && CServer::serverLevel != 1) globalRegistry = new CRegistry(CServer::intraComm) ; 
    187  
    188 /*     
    189     if (printLogs2Files) 
    190     { 
    191       if (CServer::serverLevel == 0) 
    192       { 
    193         CServer::openInfoStream(serverFile); 
    194         CServer::openErrorStream(serverFile); 
    195       } 
    196       else if (CServer::serverLevel == 1) 
    197       { 
    198         CServer::openInfoStream(serverPrmFile); 
    199         CServer::openErrorStream(serverPrmFile); 
    200       } 
    201       else 
    202       { 
    203         CServer::openInfoStream(serverSndFile); 
    204         CServer::openErrorStream(serverSndFile); 
    205       } 
    206     } 
    207     else 
    208     { 
    209       CServer::openInfoStream(); 
    210       CServer::openErrorStream(); 
    211     } 
    212  
    213     // Enter the loop to listen message from Client 
    214     CServer::eventLoop(); 
    215 */ 
    216     // Finalize 
    217 /*     
    218     if (CServer::serverLevel == 0) 
    219     { 
    220       if (CServer::getRank()==0) 
    221       { 
    222         info(80)<<"Write data base Registry"<<endl<<globalRegistry->toString()<<endl ; 
    223         globalRegistry->toFile("xios_registry.bin") ; 
    224         delete globalRegistry ; 
    225       } 
    226     } 
    227     else 
    228     { 
    229       // If using two server levels: 
    230       // (1) merge registries on each pool 
    231       // (2) send merged registries to the first pool 
    232       // (3) merge received registries on the first pool 
    233       if (CServer::serverLevel == 2) 
    234       { 
    235         vector<int>& secondaryServerGlobalRanks = CServer::getSecondaryServerGlobalRanks(); 
    236         int firstPoolGlobalRank = secondaryServerGlobalRanks[0]; 
    237         int rankGlobal; 
    238         MPI_Comm_rank(globalComm, &rankGlobal); 
    239  
    240         // Merge registries defined on each pools 
    241         CRegistry globalRegistrySndServers (CServer::intraComm); 
    242  
    243         // All pools (except the first): send globalRegistry to the first pool 
    244         for (int i=1; i<secondaryServerGlobalRanks.size(); i++) 
    245         { 
    246           if (rankGlobal == secondaryServerGlobalRanks[i]) 
    247           { 
    248             globalRegistrySndServers.mergeRegistry(*globalRegistry) ; 
    249             int registrySize = globalRegistrySndServers.size(); 
    250             MPI_Send(&registrySize,1,MPI_LONG,firstPoolGlobalRank,15,CXios::globalComm) ; 
    251             CBufferOut buffer(registrySize) ; 
    252             globalRegistrySndServers.toBuffer(buffer) ; 
    253             MPI_Send(buffer.start(),registrySize,MPI_CHAR,firstPoolGlobalRank,15,CXios::globalComm) ; 
    254           } 
    255         } 
    256  
    257         // First pool: receive globalRegistry of all secondary server pools, merge and write the resultant registry 
    258         if (rankGlobal == firstPoolGlobalRank) 
    259         { 
    260           MPI_Status status; 
    261           char* recvBuff; 
    262  
    263           globalRegistrySndServers.mergeRegistry(*globalRegistry) ; 
    264  
    265           for (int i=1; i< secondaryServerGlobalRanks.size(); i++) 
    266           { 
    267             int rank = secondaryServerGlobalRanks[i]; 
    268             int registrySize = 0; 
    269             MPI_Recv(&registrySize, 1, MPI_LONG, rank, 15, CXios::globalComm, &status); 
    270             recvBuff = new char[registrySize]; 
    271             MPI_Recv(recvBuff, registrySize, MPI_CHAR, rank, 15, CXios::globalComm, &status); 
    272             CBufferIn buffer(recvBuff, registrySize) ; 
    273             CRegistry recvRegistry; 
    274             recvRegistry.fromBuffer(buffer) ; 
    275             globalRegistrySndServers.mergeRegistry(recvRegistry) ; 
    276             delete[] recvBuff; 
    277           } 
    278  
    279           info(80)<<"Write data base Registry"<<endl<<globalRegistrySndServers.toString()<<endl ; 
    280           globalRegistrySndServers.toFile("xios_registry.bin") ; 
    281  
    282         } 
    283       } 
    284       delete globalRegistry; 
    285     } 
    286   */ 
    287  
    288183    CServer::finalize(); 
    289184 
Note: See TracChangeset for help on using the changeset viewer.