Ignore:
Timestamp:
11/19/18 15:52:54 (6 years ago)
Author:
yushan
Message:

branch_openmp merged with trunk r1597

Location:
XIOS/dev/dev_trunk_omp/src/interface/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/interface/c/icdata.cpp

    r1587 r1601  
    99#include <iostream> 
    1010 
    11  
     11#include "mpi_std.hpp" 
    1212#include "xios.hpp" 
    13 #include "oasis_cinterface.hpp" 
     13//#include "oasis_cinterface.hpp" 
    1414 
    1515#include "attribute_template.hpp" 
     
    2323#include "context.hpp" 
    2424#include "context_client.hpp" 
    25 #include "mpi.hpp" 
     25 
    2626#include "timer.hpp" 
    2727#include "array_new.hpp" 
     
    5555   { 
    5656      std::string str; 
    57       MPI_Comm local_comm; 
    58       MPI_Comm return_comm; 
     57      ep_lib::MPI_Comm local_comm; 
     58      ep_lib::MPI_Comm return_comm; 
    5959 
    6060      if (!cstr2string(client_id, len_client_id, str)) return; 
     
    6262      int initialized; 
    6363      MPI_Initialized(&initialized); 
     64      #ifdef _usingMPI 
    6465      if (initialized) local_comm=MPI_Comm_f2c(*f_local_comm); 
    6566      else local_comm=MPI_COMM_NULL; 
     67      #elif _usingEP 
     68      ep_lib::fc_comm_map.clear(); 
     69      if (initialized) local_comm=ep_lib::EP_Comm_f2c((f_local_comm)); 
     70      else local_comm=MPI_COMM_NULL; 
     71      #endif 
     72       
     73 
     74 
    6675      CXios::initClientSide(str, local_comm, return_comm); 
     76      #ifdef _usingMPI 
    6777      *f_return_comm=MPI_Comm_c2f(return_comm); 
     78      #elif _usingEP 
     79      *f_return_comm=*static_cast<MPI_Fint*>(ep_lib::EP_Comm_c2f(return_comm)); 
     80      #endif 
    6881      CTimer::get("XIOS init").suspend(); 
    6982      CTimer::get("XIOS").suspend(); 
     
    7386   { 
    7487     std::string str; 
    75      MPI_Comm comm; 
     88     ep_lib::MPI_Comm comm; 
    7689 
    7790     if (!cstr2string(context_id, len_context_id, str)) return; 
    7891     CTimer::get("XIOS").resume(); 
    7992     CTimer::get("XIOS init context").resume(); 
     93     #ifdef _usingMPI 
    8094     comm=MPI_Comm_f2c(*f_comm); 
     95     #elif _usingEP 
     96     comm = ep_lib::EP_Comm_f2c(f_comm); 
     97     #endif 
    8198     CClient::registerContext(str, comm); 
    8299     CTimer::get("XIOS init context").suspend(); 
  • XIOS/dev/dev_trunk_omp/src/interface/c/oasis_cinterface.cpp

    r501 r1601  
    11#include "oasis_cinterface.hpp" 
    22#include <string> 
    3 #include "mpi.hpp" 
     3using namespace ep_lib; 
    44 
    55namespace xios 
     
    2626     
    2727    fxios_oasis_get_localcomm(&f_comm) ; 
    28     comm=MPI_Comm_f2c(f_comm) ; 
     28    //comm=MPI_Comm_f2c(f_comm) ; 
    2929  } 
    3030  
     
    3434     
    3535    fxios_oasis_get_intracomm(&f_comm,server_id.data(),server_id.size()) ; 
    36     comm_client_server=MPI_Comm_f2c(f_comm) ; 
     36    //comm_client_server=MPI_Comm_f2c(f_comm) ; 
    3737  } 
    3838  
     
    4242     
    4343    fxios_oasis_get_intercomm(&f_comm,server_id.data(),server_id.size()) ; 
    44     comm_client_server=MPI_Comm_f2c(f_comm) ; 
     44    //comm_client_server=MPI_Comm_f2c(f_comm) ; 
    4545  } 
    4646} 
  • XIOS/dev/dev_trunk_omp/src/interface/c/oasis_cinterface.hpp

    r501 r1601  
    1010  void fxios_oasis_enddef(void) ; 
    1111  void fxios_oasis_finalize(void) ; 
    12   void fxios_oasis_get_localcomm(MPI_Fint* f_comm) ; 
    13   void fxios_oasis_get_intracomm(MPI_Fint* f_comm_client_server,const char* client_id,int str_len) ; 
    14   void fxios_oasis_get_intercomm(MPI_Fint* f_comm_client_server,const char* client_id,int str_len) ; 
     12  void fxios_oasis_get_localcomm(ep_lib::MPI_Fint* f_comm) ; 
     13  void fxios_oasis_get_intracomm(ep_lib::MPI_Fint* f_comm_client_server,const char* client_id,int str_len) ; 
     14  void fxios_oasis_get_intercomm(ep_lib::MPI_Fint* f_comm_client_server,const char* client_id,int str_len) ; 
    1515} 
    1616  
     
    2020  void oasis_enddef(void) ; 
    2121  void oasis_finalize(void) ; 
    22   void oasis_get_localcomm(MPI_Comm& comm) ; 
    23   void oasis_get_intracomm(MPI_Comm& comm_client_server,const std::string& server_id) ; 
    24   void oasis_get_intercomm(MPI_Comm& comm_client_server,const std::string& server_id) ; 
     22  void oasis_get_localcomm(ep_lib::MPI_Comm& comm) ; 
     23  void oasis_get_intracomm(ep_lib::MPI_Comm& comm_client_server,const std::string& server_id) ; 
     24  void oasis_get_intercomm(ep_lib::MPI_Comm& comm_client_server,const std::string& server_id) ; 
    2525} 
    2626#endif 
Note: See TracChangeset for help on using the changeset viewer.