source: XIOS/dev/dev_trunk_omp/src/interface/c/oasis_cinterface.cpp @ 1745

Last change on this file since 1745 was 1745, checked in by yushan, 5 years ago

Generic_testcase: build flag --omp to enable EP with intelmpi. --omp2 to enable EP with openmpi. tested on Irene with compiler=intel17, mpi=intelmpi&openmpi, with and without EP

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1#include "oasis_cinterface.hpp"
2#include <string>
3#ifdef _usingEP
4using namespace ep_lib;
5#endif
6
7namespace xios
8{ 
9 
10  void oasis_init(const std::string& server_id)
11  {
12    fxios_oasis_init(server_id.data(),server_id.size()) ;
13  }
14 
15  void oasis_finalize(void)
16  {
17    fxios_oasis_finalize() ;
18  }
19 
20  void oasis_enddef(void)
21  {
22    fxios_oasis_enddef() ;
23  }
24#ifdef _usingEP
25  void oasis_get_localcomm(MPI_Comm& comm)
26  {
27    EP_Fint f_comm ;
28   
29    fxios_oasis_get_localcomm(&f_comm) ;
30    //comm=MPI_Comm_f2c(f_comm) ;
31  }
32 
33  void oasis_get_intracomm(MPI_Comm& comm_client_server,const std::string& server_id)
34  {
35    EP_Fint f_comm ;
36   
37    fxios_oasis_get_intracomm(&f_comm,server_id.data(),server_id.size()) ;
38    //comm_client_server=MPI_Comm_f2c(f_comm) ;
39  }
40 
41  void oasis_get_intercomm(MPI_Comm& comm_client_server,const std::string& server_id)
42  {
43    EP_Fint f_comm ;
44   
45    fxios_oasis_get_intercomm(&f_comm,server_id.data(),server_id.size()) ;
46    //comm_client_server=MPI_Comm_f2c(f_comm) ;
47  }
48
49#else
50
51  void oasis_get_localcomm(MPI_Comm& comm)
52  {
53    MPI_Fint f_comm ;
54   
55    fxios_oasis_get_localcomm(&f_comm) ;
56    //comm=MPI_Comm_f2c(f_comm) ;
57  }
58 
59  void oasis_get_intracomm(MPI_Comm& comm_client_server,const std::string& server_id)
60  {
61    MPI_Fint f_comm ;
62   
63    fxios_oasis_get_intracomm(&f_comm,server_id.data(),server_id.size()) ;
64    //comm_client_server=MPI_Comm_f2c(f_comm) ;
65  }
66 
67  void oasis_get_intercomm(MPI_Comm& comm_client_server,const std::string& server_id)
68  {
69    MPI_Fint f_comm ;
70   
71    fxios_oasis_get_intercomm(&f_comm,server_id.data(),server_id.size()) ;
72    //comm_client_server=MPI_Comm_f2c(f_comm) ;
73  }
74
75
76
77#endif
78}
Note: See TracBrowser for help on using the repository browser.