Ignore:
Timestamp:
01/23/19 10:31:44 (5 years ago)
Author:
yushan
Message:

dev on ADA. add flag switch _usingEP/_usingMPI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_openmp/src/registry.cpp

    r1464 r1642  
    44#include <fstream> 
    55#include <sstream> 
    6 using namespace ep_lib; 
    76 
    87namespace xios 
     
    192191  { 
    193192    int rank ; 
    194     MPI_Comm_rank(communicator,&rank); 
     193    ep_lib::MPI_Comm_rank(communicator,&rank); 
    195194    if (rank==0) 
    196195    { 
     
    198197      this->toBuffer(buffer) ; 
    199198      int size=buffer.count() ; 
    200       MPI_Bcast(&size,1,MPI_INT,0,communicator) ; 
    201       MPI_Bcast(buffer.start(),size,MPI_CHAR,0,communicator) ; 
     199      ep_lib::MPI_Bcast(&size,1,EP_INT,0,communicator) ; 
     200      ep_lib::MPI_Bcast(buffer.start(),size,EP_CHAR,0,communicator) ; 
    202201    } 
    203202    else 
    204203    { 
    205204      int size ; 
    206       MPI_Bcast(&size,1,MPI_INT,0,communicator) ; 
     205      ep_lib::MPI_Bcast(&size,1,EP_INT,0,communicator) ; 
    207206      CBufferIn buffer(size) ; 
    208       MPI_Bcast(buffer.start(),size,MPI_CHAR,0,communicator) ; 
     207      ep_lib::MPI_Bcast(buffer.start(),size,EP_CHAR,0,communicator) ; 
    209208      this->fromBuffer(buffer) ; 
    210209    } 
     
    215214  } 
    216215 
    217   void CRegistry::gatherRegistry(const MPI_Comm& comm) 
     216  void CRegistry::gatherRegistry(const ep_lib::MPI_Comm& comm) 
    218217  { 
    219218    int rank,mpiSize ; 
    220     MPI_Comm_rank(comm,&rank); 
    221     MPI_Comm_size(comm,&mpiSize); 
     219    ep_lib::MPI_Comm_rank(comm,&rank); 
     220    ep_lib::MPI_Comm_size(comm,&mpiSize); 
    222221 
    223222    int* sizes=new int[mpiSize] ; 
     
    225224    this->toBuffer(localBuffer) ; 
    226225    int localSize=localBuffer.count() ; 
    227     MPI_Gather(&localSize,1,MPI_INT,sizes,1,MPI_INT,0,comm) ; 
     226    ep_lib::MPI_Gather(&localSize,1,EP_INT,sizes,1,EP_INT,0,comm) ; 
    228227 
    229228    char* globalBuffer ; 
     
    241240 
    242241      globalBuffer=new char[globalBufferSize] ; 
    243       MPI_Gatherv(localBuffer.start(),localSize,MPI_CHAR,globalBuffer,sizes,displs,MPI_CHAR,0,comm) ; 
     242      ep_lib::MPI_Gatherv(localBuffer.start(),localSize,EP_CHAR,globalBuffer,sizes,displs,EP_CHAR,0,comm) ; 
    244243      for(int i=1;i<mpiSize;++i) 
    245244      { 
     
    252251      delete[] globalBuffer ; 
    253252    } 
    254     else  MPI_Gatherv(localBuffer.start(),localSize,MPI_CHAR,globalBuffer,sizes,displs,MPI_CHAR,0,comm) ;    
     253    else  ep_lib::MPI_Gatherv(localBuffer.start(),localSize,EP_CHAR,globalBuffer,sizes,displs,EP_CHAR,0,comm) ;    
    255254    delete[] sizes ; 
    256255     
     
    259258  void CRegistry::hierarchicalGatherRegistry(void) 
    260259  { 
    261     //hierarchicalGatherRegistry(communicator) ; 
    262     gatherRegistry(communicator) ; 
    263   } 
    264  
    265   void CRegistry::hierarchicalGatherRegistry(const MPI_Comm& comm) 
     260    hierarchicalGatherRegistry(communicator) ; 
     261  } 
     262 
     263  void CRegistry::hierarchicalGatherRegistry(const ep_lib::MPI_Comm& comm) 
    266264  { 
    267265    int mpiRank,mpiSize ; 
    268     MPI_Comm_rank(comm,&mpiRank); 
    269     MPI_Comm_size(comm,&mpiSize);     
     266    ep_lib::MPI_Comm_rank(comm,&mpiRank); 
     267    ep_lib::MPI_Comm_size(comm,&mpiSize);     
    270268 
    271269    if (mpiSize>2) 
     
    274272      if (mpiRank<mpiSize/2+mpiSize%2) color=0 ; 
    275273      else color=1 ; 
    276       MPI_Comm commUp ; 
    277       MPI_Comm_split(comm,color,mpiRank,&commUp) , 
     274      ep_lib::MPI_Comm commUp ; 
     275      ep_lib::MPI_Comm_split(comm,color,mpiRank,&commUp) , 
    278276      hierarchicalGatherRegistry(commUp) ; 
    279       MPI_Comm_free(&commUp) ; 
     277      ep_lib::MPI_Comm_free(&commUp) ; 
    280278    } 
    281279 
    282280    if (mpiSize>1) 
    283281    { 
    284       MPI_Comm commDown ; 
     282      ep_lib::MPI_Comm commDown ; 
    285283      int color ; 
    286284       
    287285      if (mpiRank==0 || mpiRank==mpiSize/2+mpiSize%2) color=0 ; 
    288286      else color=1 ; 
    289       MPI_Comm_split(comm,color,mpiRank,&commDown) ; 
     287      ep_lib::MPI_Comm_split(comm,color,mpiRank,&commDown) ; 
    290288      if (color==0) gatherRegistry(commDown) ; 
    291       MPI_Comm_free(&commDown) ;     
     289      ep_lib::MPI_Comm_free(&commDown) ;     
    292290    } 
    293291  } 
Note: See TracChangeset for help on using the changeset viewer.