Ignore:
Timestamp:
10/06/23 11:32:05 (9 months ago)
Author:
jderouillat
Message:

Specify the usage of the xios namespace to overload the MPI funtions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/server.cpp

    r2580 r2589  
    101101        delete[] hashAll ; 
    102102 
    103         MPI_Comm_split(globalComm, color, commRank, &serverComm) ; 
     103        xios::MPI_Comm_split(globalComm, color, commRank, &serverComm) ; 
    104104        CXios::getMpiGarbageCollector().registerCommunicator(serverComm) ; 
    105105 
     
    119119        driver_->getComponentCommunicator( serverComm ); 
    120120      } 
    121       MPI_Comm_dup(serverComm, &intraComm_); 
     121      xios::MPI_Comm_dup(serverComm, &intraComm_); 
    122122      CXios::getMpiGarbageCollector().registerCommunicator(intraComm_) ; 
    123123       
     
    142142        MPI_Comm splitComm,interComm ; 
    143143        MPI_Comm_rank(globalComm,&commGlobalRank) ; 
    144         MPI_Comm_split(globalComm, 1, commGlobalRank, &splitComm) ; 
     144        xios::MPI_Comm_split(globalComm, 1, commGlobalRank, &splitComm) ; 
    145145        MPI_Comm_rank(splitComm,&commRank) ; 
    146146        if (commRank==0) serverLeader=commGlobalRank ; 
     
    149149        MPI_Allreduce(&clientLeader,&clientRemoteLeader,1,MPI_INT,MPI_SUM,globalComm) ; 
    150150        MPI_Allreduce(&serverLeader,&serverRemoteLeader,1,MPI_INT,MPI_SUM,globalComm) ; 
    151         MPI_Intercomm_create(splitComm, 0, globalComm, clientRemoteLeader,1341,&interComm) ; 
    152         MPI_Intercomm_merge(interComm,false,&xiosGlobalComm) ; 
     151        xios::MPI_Intercomm_create(splitComm, 0, globalComm, clientRemoteLeader,1341,&interComm) ; 
     152        xios::MPI_Intercomm_merge(interComm,false,&xiosGlobalComm) ; 
    153153        CXios::setXiosComm(xiosGlobalComm) ; 
    154154      } 
     
    167167      int commRank ; 
    168168      MPI_Comm_rank(CXios::getXiosComm(), &commRank) ; 
    169       MPI_Comm_split(CXios::getXiosComm(),true,commRank,&serversComm_) ; 
     169      xios::MPI_Comm_split(CXios::getXiosComm(),true,commRank,&serversComm_) ; 
    170170      CXios::getMpiGarbageCollector().registerCommunicator(serversComm_) ; 
    171171       
     
    442442 
    443443      MPI_Comm intraComm ; 
    444       MPI_Comm_dup(serverComm,&intraComm) ; 
     444      xios::MPI_Comm_dup(serverComm,&intraComm) ; 
    445445      MPI_Comm interComm ; 
    446446      for(int i=0 ; i<clientsRank.size(); i++) 
    447447      {   
    448         MPI_Intercomm_create(intraComm, 0, globalComm, clientsRank[i], 3141, &interComm); 
     448        xios::MPI_Intercomm_create(intraComm, 0, globalComm, clientsRank[i], 3141, &interComm); 
    449449        CXios::getMpiGarbageCollector().registerCommunicator(interComm) ; 
    450450        interCommLeft.push_back(interComm) ; 
    451         MPI_Comm_free(&intraComm) ; 
    452         MPI_Intercomm_merge(interComm,false, &intraComm ) ; 
     451        xios::MPI_Comm_free(&intraComm) ; 
     452        xios::MPI_Intercomm_merge(interComm,false, &intraComm ) ; 
    453453      } 
    454454      xiosGlobalComm=intraComm ;   
     
    485485        {   
    486486          MPI_Comm_accept(portName, MPI_INFO_NULL, 0, intraComm, &interComm); 
    487           MPI_Intercomm_merge(interComm,false, &intraComm ) ; 
     487          xios::MPI_Intercomm_merge(interComm,false, &intraComm ) ; 
    488488        } 
    489489*/       
     
    590590 
    591591      for (std::list<MPI_Comm>::iterator it = contextInterComms.begin(); it != contextInterComms.end(); it++) 
    592         MPI_Comm_free(&(*it)); 
     592        xios::MPI_Comm_free(&(*it)); 
    593593 
    594594      for (std::list<MPI_Comm>::iterator it = contextIntraComms.begin(); it != contextIntraComms.end(); it++) 
    595         MPI_Comm_free(&(*it)); 
     595        xios::MPI_Comm_free(&(*it)); 
    596596 
    597597        for (std::list<MPI_Comm>::iterator it = interCommRight.begin(); it != interCommRight.end(); it++) 
    598           MPI_Comm_free(&(*it)); 
    599  
    600 //      MPI_Comm_free(&intraComm); 
     598          xios::MPI_Comm_free(&(*it)); 
     599 
     600//      xios::MPI_Comm_free(&intraComm); 
    601601      CXios::finalizeDaemonsManager(); 
    602602      finalizeServersRessource(); 
     
    606606      CXios::getMpiGarbageCollector().release() ; // release unfree MPI ressources 
    607607      MPI_Comm xiosComm=CXios::getXiosComm() ; 
    608       MPI_Comm_free(&xiosComm) ; 
     608      xios::MPI_Comm_free(&xiosComm) ; 
    609609      CMemChecker::logMem( "CServer::finalize", true ); 
    610610       
Note: See TracChangeset for help on using the changeset viewer.