Changeset 1639 for XIOS/trunk/src/interface
- Timestamp:
- 01/22/19 16:43:32 (5 years ago)
- Location:
- XIOS/trunk/src/interface/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c/icdata.cpp
r1638 r1639 60 60 { 61 61 std::string str; 62 ep_lib::MPI_Comm local_comm;63 ep_lib::MPI_Comm return_comm;62 MPI_Comm local_comm; 63 MPI_Comm return_comm; 64 64 65 65 if (!cstr2string(client_id, len_client_id, str)) return; 66 66 67 67 int initialized; 68 ep_lib::MPI_Initialized(&initialized); 69 #ifdef _usingMPI 68 MPI_Initialized(&initialized); 70 69 if (initialized) local_comm=MPI_Comm_f2c(*f_local_comm); 71 70 else local_comm=MPI_COMM_NULL; 72 #elif _usingEP73 if (initialized) local_comm=EP_Comm_f2c(f_local_comm);74 else local_comm=EP_COMM_NULL;75 #endif76 71 CXios::initClientSide(str, local_comm, return_comm); 77 #ifdef _usingMPI78 72 *f_return_comm=MPI_Comm_c2f(return_comm); 79 #elif _usingEP80 *f_return_comm=*static_cast<MPI_Fint* >(EP_Comm_c2f(return_comm));81 #endif82 73 CTimer::get("XIOS init").suspend(); 83 74 CTimer::get("XIOS").suspend(); … … 89 80 { 90 81 std::string str; 91 ep_lib::MPI_Comm comm;82 MPI_Comm comm; 92 83 93 84 if (!cstr2string(context_id, len_context_id, str)) return; 94 85 CTimer::get("XIOS").resume(); 95 86 CTimer::get("XIOS init context").resume(); 96 #ifdef _usingMPI97 87 comm=MPI_Comm_f2c(*f_comm); 98 #elif _usingEP99 comm=EP_Comm_f2c(f_comm);100 #endif101 88 CClient::registerContext(str, comm); 102 89 CTimer::get("XIOS init context").suspend(); -
XIOS/trunk/src/interface/c/oasis_cinterface.cpp
r1638 r1639 21 21 } 22 22 23 void oasis_get_localcomm( ep_lib::MPI_Comm& comm)23 void oasis_get_localcomm(MPI_Comm& comm) 24 24 { 25 ep_lib::MPI_Fint f_comm ;25 MPI_Fint f_comm ; 26 26 27 27 fxios_oasis_get_localcomm(&f_comm) ; 28 //comm=MPI_Comm_f2c(f_comm) ;28 comm=MPI_Comm_f2c(f_comm) ; 29 29 } 30 30 31 void oasis_get_intracomm( ep_lib::MPI_Comm& comm_client_server,const std::string& server_id)31 void oasis_get_intracomm(MPI_Comm& comm_client_server,const std::string& server_id) 32 32 { 33 ep_lib::MPI_Fint f_comm ;33 MPI_Fint f_comm ; 34 34 35 35 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) ; 37 37 } 38 38 39 void oasis_get_intercomm( ep_lib::MPI_Comm& comm_client_server,const std::string& server_id)39 void oasis_get_intercomm(MPI_Comm& comm_client_server,const std::string& server_id) 40 40 { 41 ep_lib::MPI_Fint f_comm ;41 MPI_Fint f_comm ; 42 42 43 43 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) ; 45 45 } 46 46 } -
XIOS/trunk/src/interface/c/oasis_cinterface.hpp
r1638 r1639 10 10 void fxios_oasis_enddef(void) ; 11 11 void fxios_oasis_finalize(void) ; 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) ;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) ; 15 15 } 16 16 … … 20 20 void oasis_enddef(void) ; 21 21 void oasis_finalize(void) ; 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) ;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) ; 25 25 } 26 26 #endif
Note: See TracChangeset
for help on using the changeset viewer.