Ignore:
Timestamp:
05/16/17 17:54:30 (7 years ago)
Author:
yushan
Message:

branch merged with trunk r1130

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan_merged/src/context_server.cpp

    r1033 r1134  
    1010#include "file.hpp" 
    1111#include "grid.hpp" 
    12 #include "mpi.hpp" 
     12#include "mpi_std.hpp" 
    1313#include "tracer.hpp" 
    1414#include "timer.hpp" 
     
    2323{ 
    2424 
    25   CContextServer::CContextServer(CContext* parent,MPI_Comm intraComm_,MPI_Comm interComm_) 
     25  CContextServer::CContextServer(CContext* parent, ep_lib::MPI_Comm intraComm_, ep_lib::MPI_Comm interComm_) 
    2626  { 
    2727    context=parent; 
     
    7272    int count; 
    7373    char * addr; 
    74     MPI_Status status; 
     74    ep_lib::MPI_Status status; 
    7575    map<int,CServerBuffer*>::iterator it; 
    7676 
     
    8080      { 
    8181        traceOff(); 
    82         MPI_Iprobe(rank,20,interComm,&flag,&status); 
     82        ep_lib::MPI_Iprobe(rank,20,interComm,&flag,&status); 
    8383        traceOn(); 
    8484        if (flag==true) 
     
    8888          { 
    8989            StdSize buffSize = 0; 
    90             MPI_Recv(&buffSize, 1, MPI_LONG, rank, 20, interComm, &status); 
     90            ep_lib::MPI_Recv(&buffSize, 1, MPI_LONG, rank, 20, interComm, &status); 
    9191            mapBufferSize_.insert(std::make_pair(rank, buffSize)); 
    9292            it=(buffers.insert(pair<int,CServerBuffer*>(rank,new CServerBuffer(buffSize)))).first; 
     
    9494          else 
    9595          { 
    96             MPI_Get_count(&status,MPI_CHAR,&count); 
     96             
     97            ep_lib::MPI_Get_count(&status,MPI_CHAR,&count); 
    9798            if (it->second->isBufferFree(count)) 
    9899            { 
    99100              addr=(char*)it->second->getBuffer(count); 
    100               MPI_Irecv(addr,count,MPI_CHAR,rank,20,interComm,&pendingRequest[rank]); 
     101              ep_lib::MPI_Irecv(addr,count,MPI_CHAR,rank,20,interComm,&pendingRequest[rank]); 
    101102              bufferRequest[rank]=addr; 
    102103            } 
     
    109110  void CContextServer::checkPendingRequest(void) 
    110111  { 
    111     map<int,MPI_Request>::iterator it; 
     112    map<int,ep_lib::MPI_Request>::iterator it; 
    112113    list<int> recvRequest; 
    113114    list<int>::iterator itRecv; 
     
    115116    int flag; 
    116117    int count; 
    117     MPI_Status status; 
    118  
    119     for(it=pendingRequest.begin();it!=pendingRequest.end();it++) 
     118    ep_lib::MPI_Status status; 
     119 
     120    for(it=pendingRequest.begin();it!=pendingRequest.end();++it) 
    120121    { 
    121122      rank=it->first; 
    122123      traceOff(); 
    123       MPI_Test(& it->second, &flag, &status); 
     124      ep_lib::MPI_Test(& it->second, &flag, &status); 
    124125      traceOn(); 
    125126      if (flag==true) 
    126127      { 
    127128        recvRequest.push_back(rank); 
    128         MPI_Get_count(&status,MPI_CHAR,&count); 
     129        ep_lib::MPI_Get_count(&status,MPI_CHAR,&count); 
    129130        processRequest(rank,bufferRequest[rank],count); 
    130131      } 
     
    219220    { 
    220221      finished=true; 
     222      #pragma omp critical (_output) 
    221223      info(20)<<"Server Side context <"<<context->getId()<<"> finalized"<<endl; 
    222224      std::map<int, StdSize>::const_iterator itbMap = mapBufferSize_.begin(), 
     
    225227      for (itMap = itbMap; itMap != iteMap; ++itMap) 
    226228      { 
    227         report(10)<< " Memory report : Context <"<<context->getId()<<"> : server side : memory used for buffer of each connection to client" << endl 
    228                   << "  +) With client of rank " << itMap->first << " : " << itMap->second << " bytes " << endl; 
     229        //report(10)<< " Memory report : Context <"<<context->getId()<<"> : server side : memory used for buffer of each connection to client" << endl 
     230        //          << "  +) With client of rank " << itMap->first << " : " << itMap->second << " bytes " << endl; 
    229231        totalBuf += itMap->second; 
    230232      } 
    231233      context->finalize(); 
    232       report(0)<< " Memory report : Context <"<<context->getId()<<"> : server side : total memory used for buffer "<<totalBuf<<" bytes"<<endl; 
     234      //report(0)<< " Memory report : Context <"<<context->getId()<<"> : server side : total memory used for buffer "<<totalBuf<<" bytes"<<endl; 
    233235    } 
    234236    else if (event.classId==CContext::GetType()) CContext::dispatchEvent(event); 
Note: See TracChangeset for help on using the changeset viewer.