Changeset 286 for XMLIO_V2/dev/common/src/xmlio/manager
- Timestamp:
- 10/21/11 19:01:35 (13 years ago)
- Location:
- XMLIO_V2/dev/common/src/xmlio/manager
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/common/src/xmlio/manager/mpi_manager.cpp
r274 r286 12 12 13 13 // XMLIOServer headers 14 #include "xmlioserver.hpp" 14 15 #include "mpi_manager.hpp" 16 #include "oasis_cinterface.hpp" 15 17 16 18 … … 21 23 22 24 // ---------------------- Initialisation & Finalisation --------------------- 25 26 bool CMPIManager::Initialized=false ; 27 MPI_Comm CMPIManager::CommClient ; 28 MPI_Comm CMPIManager::CommServer ; 29 MPI_Comm CMPIManager::CommClientServer ; 30 int CMPIManager::NbClient ; 31 int CMPIManager::NbServer ; 32 bool CMPIManager::_IsClient ; 33 bool CMPIManager::_IsServer ; 34 bool CMPIManager::using_server ; 35 bool CMPIManager::using_oasis ; 36 23 37 24 38 void CMPIManager::Initialise(int * _argc, char *** _argv) … … 31 45 if (MPI_Init(_argc, _argv) != MPI_SUCCESS) 32 46 ERROR("CMPIManager::Initialise(arc, argv)", << " MPI Error !"); 33 } 34 35 } 36 47 Initialized=true ; 48 } 49 50 } 51 void CMPIManager::InitialiseClient(int * _argc, char *** _argv) 52 { 53 int flag = 0; 54 using_oasis=CObjectFactory::GetObject<CVariable>("xios","using_oasis")->getData<bool>() ; 55 using_server=CObjectFactory::GetObject<CVariable>("xios","using_server")->getData<bool>(); 56 57 Initialized=false ; 58 59 if (MPI_Initialized(&flag) != MPI_SUCCESS) 60 ERROR("CMPIManager::Initialise(arc, argv)", << " MPI Error !"); 61 62 if (!flag) 63 { 64 if (using_oasis) 65 { 66 StdString oasisClientId=CObjectFactory::GetObject<CVariable>("xios","client_id")->getData<StdString>(); 67 oasis_init(oasisClientId) ; 68 } 69 else 70 { 71 if (MPI_Init(_argc, _argv) != MPI_SUCCESS) 72 ERROR("CMPIManager::Initialise(arc, argv)", << " MPI Error !"); 73 } 74 Initialized=true ; 75 } 76 77 } 78 79 void CMPIManager::InitialiseServer(int * _argc, char *** _argv) 80 { 81 int flag = 0; 82 83 using_oasis=CObjectFactory::GetObject<CVariable>("xios","using_oasis")->getData<bool>(); 84 using_server=CObjectFactory::GetObject<CVariable>("xios","using_server")->getData<bool>(); 85 86 if (using_oasis) 87 { 88 StdString oasisServerId=CObjectFactory::GetObject<CVariable>("xios","server_id")->getData<StdString>(); 89 oasis_init(oasisServerId) ; 90 } 91 else 92 { 93 if (MPI_Init(_argc, _argv) != MPI_SUCCESS) 94 ERROR("CMPIManager::Initialise(arc, argv)", << " MPI Error !"); 95 } 96 Initialized=true ; 97 } 98 37 99 void CMPIManager::Finalize(void) 38 100 { 39 if (MPI_Finalize() != MPI_SUCCESS) 40 ERROR("CMPIManager::Finalize(void)", << " MPI Error !"); 101 if (Initialized) 102 { 103 if (using_oasis) oasis_finalize() ; 104 else if (MPI_Finalize() != MPI_SUCCESS) 105 ERROR("CMPIManager::Finalize(void)", << " MPI Error !"); 106 } 41 107 } 42 108 … … 86 152 MPI_Comm _comm_parent) 87 153 { 154 if (_is_server) { _IsServer=true ; _IsClient=false ; } 155 else { _IsServer=false ; _IsClient=true; } 156 157 if (_is_server) 158 { 159 if (using_oasis) 160 { 161 StdString oasisClientId=CObjectFactory::GetObject<CVariable>("xios","client_id")->getData<StdString>() ; 162 oasis_get_intracomm(_comm_parent,oasisClientId) ; 163 } 164 else _comm_parent=MPI_COMM_WORLD ; 165 } 166 else 167 { 168 if (!using_server) 169 { 170 NbClient=GetCommSize(_comm_parent) ; 171 NbServer=0 ; 172 _comm_server = _comm_client = _comm_parent ; 173 CommClient=_comm_client ; 174 CommServer=_comm_server ; 175 CommClientServer=_comm_client_server ; 176 return false ; 177 } 178 if (using_oasis) 179 { 180 StdString oasisServerId=CObjectFactory::GetObject<CVariable>("xios","server_id")->getData<StdString>() ; 181 oasis_get_intracomm(_comm_parent,oasisServerId) ; 182 } 183 } 184 185 88 186 int value = (_is_server) ? 1 : 2; 89 std::size_t nbClient = 0, nbServer = 0, nbClientByServer = 0; 187 std::size_t nbClient = 0, nbServer = 0 ; 188 std::vector<int> nbClientByServer ; 189 90 190 std::vector<int> info, rank_client, rank_server; 91 191 CMPIManager::AllGather(value, info, _comm_parent); … … 99 199 nbServer = rank_server.size(); 100 200 201 NbClient=nbClient ; 202 NbServer=nbServer ; 203 101 204 if (nbClient == 0) 102 205 ERROR("CMPIManager::DispatchClient()", << " Aucun client disponible !"); … … 104 207 105 208 _comm_client = CMPIManager::CreateComm(CMPIManager::CreateSubGroup( 106 CMPIManager::GetGroup World(), rank_client), _comm_parent);209 CMPIManager::GetGroup(_comm_parent), rank_client), _comm_parent); 107 210 108 211 if (nbServer != 0) 109 212 { 110 213 std::size_t currentServer = 0; 111 nbClientByServer = nbClient/nbServer; 214 215 // nbClientByServer = nbClient/nbServer; 112 216 _comm_server = CMPIManager::CreateComm(CMPIManager::CreateSubGroup( 113 CMPIManager::GetGroupWorld(), rank_server), _comm_parent); 114 115 //std::cout << nbClient << "," << nbServer << "," << nbClientByServer << std::endl; 116 117 for (std::size_t mm = 0; mm < nbClient; mm += nbClientByServer) 217 CMPIManager::GetGroup(_comm_parent), rank_server), _comm_parent); 218 219 for(std::size_t mm=0;mm<nbServer;mm++) 220 { 221 int x=nbClient/nbServer ; 222 if (mm<nbClient%nbServer) x++ ; 223 nbClientByServer.push_back(x) ; 224 } 225 226 for (std::size_t mm = 0; mm < nbClient; mm += nbClientByServer[currentServer],currentServer++ ) 118 227 { 119 228 std::vector<int> group_rank; 120 group_rank.push_back(rank_server[currentServer ++]);121 for (std::size_t nn = 0; nn < nbClientByServer ; nn++)229 group_rank.push_back(rank_server[currentServer]); 230 for (std::size_t nn = 0; nn < nbClientByServer[currentServer]; nn++) 122 231 group_rank.push_back(rank_client[nn+mm]); 123 232 MPI_Comm comm_client_server_ = CMPIManager::CreateComm(CMPIManager::CreateSubGroup( 124 CMPIManager::GetGroup World(), group_rank), _comm_parent);233 CMPIManager::GetGroup(_comm_parent), group_rank), _comm_parent); 125 234 126 235 if (std::find(group_rank.begin(), group_rank.end(), … … 132 241 group_rank.clear(); 133 242 } 243 CommClient=_comm_client ; 244 CommServer=_comm_server ; 245 CommClientServer=_comm_client_server ; 134 246 return (true); 135 247 } … … 137 249 { 138 250 _comm_server = _comm_client; 251 CommClient=_comm_client ; 252 CommServer=_comm_server ; 253 CommClientServer=_comm_client_server ; 139 254 return (false); 140 255 } … … 149 264 if (MPI_Comm_group(MPI_COMM_WORLD, &group) != MPI_SUCCESS) 150 265 ERROR("CMPIManager::GetGroupWorld()", << " MPI Error !"); 266 return (group); 267 } 268 269 MPI_Group CMPIManager::GetGroup(MPI_Comm comm) 270 { 271 MPI_Group group = 0; 272 if (MPI_Comm_group(comm, &group) != MPI_SUCCESS) 273 ERROR("CMPIManager::GetGroup()", << " MPI Error !"); 151 274 return (group); 152 275 } -
XMLIO_V2/dev/common/src/xmlio/manager/mpi_manager.hpp
r268 r286 52 52 53 53 static void Initialise(int * argc, char *** argv); 54 static void InitialiseClient(int * argc, char *** argv); 55 static void InitialiseServer(int * argc, char *** argv); 54 56 static void Finalize(void); 55 57 … … 57 59 58 60 59 static inline int GetCommRank(MPIComm _comm) 60 { return (CMPIManager::GetCommRank(MPI_Comm_f2c(_comm))); } 61 62 static inline int GetCommSize(MPIComm _comm) 63 { return (CMPIManager::GetCommSize(MPI_Comm_f2c(_comm))); } 64 65 static inline MPIComm GetCommWorld(void) 66 { return (MPI_Comm_c2f(MPI_COMM_WORLD)); } 67 68 static inline MPIComm CreateComm(MPI_Group _group, MPIComm _pcomm = CMPIManager::GetCommWorld()) 69 { return (MPI_Comm_c2f(CMPIManager::CreateComm( _group, MPI_Comm_f2c(_pcomm)))); } 61 62 static inline MPI_Comm GetCommWorld(void) 63 { return (MPI_COMM_WORLD); } 70 64 71 65 static int GetCommRank(MPI_Comm _comm = MPI_COMM_WORLD); 72 66 static int GetCommSize(MPI_Comm _comm = MPI_COMM_WORLD); 73 67 74 static MPI_Comm CreateComm(MPI_Group _group, MPI_Comm _pcomm); 68 static MPI_Comm CreateComm(MPI_Group _group, MPI_Comm _pcomm=MPI_COMM_WORLD); 69 70 static inline MPI_Comm GetCommClient(void) 71 { return CommClient; } 72 static inline MPI_Comm GetCommServer(void) 73 { return CommServer; } 74 static inline MPI_Comm GetCommClientServer(void) 75 { return CommClientServer; } 76 static inline int GetNbClient(void) 77 { return NbClient; } 78 static inline int GetNbServer(void) 79 { return NbServer; } 80 81 static inline bool IsConnected(void) 82 { return (NbServer==0)?true:false; } 83 84 static inline bool IsClient(void) 85 { return _IsClient; } 86 87 static inline bool IsServer(void) 88 { return _IsServer; } 75 89 76 90 public : // Autre … … 78 92 static void Barrier(MPI_Comm _comm = MPI_COMM_WORLD); 79 93 80 static inline bool DispatchClient(bool _is_server,81 MPIComm & _comm_client,82 MPIComm & _comm_client_server,83 MPIComm & _comm_server,84 MPIComm _comm_parent = CMPIManager::GetCommWorld())85 {86 MPI_Comm comm_client = MPI_Comm_f2c(_comm_client);87 MPI_Comm comm_client_server = MPI_Comm_f2c(_comm_client_server);88 MPI_Comm comm_server = MPI_Comm_f2c(_comm_server);89 MPI_Comm comm_parent = MPI_Comm_f2c(_comm_parent);90 bool ret = CMPIManager::DispatchClient(_is_server, comm_client, comm_client_server, comm_server, comm_parent);91 _comm_client = MPI_Comm_c2f(comm_client);92 _comm_client_server = MPI_Comm_c2f(comm_client_server);93 _comm_server = MPI_Comm_c2f(comm_server);94 return (ret);95 }96 97 98 94 static bool DispatchClient(bool _is_server, 99 95 MPI_Comm & _comm_client, 100 96 MPI_Comm & _comm_client_server, 101 97 MPI_Comm & _comm_server, 102 MPI_Comm _comm_parent = MPI_COMM_WORLD);98 MPI_Comm _comm_parent); 103 99 104 100 public : // Groupes 105 101 106 102 static MPI_Group GetGroupWorld(void); 103 static MPI_Group GetGroup(MPI_Comm Comm); 107 104 static MPI_Group CreateSubGroup(MPI_Group _pgroup, const std::vector<int> & _ranks); 108 105 static MPI_Group CreateSubGroup(MPI_Group _pgroup, int _min_rank, int _max_rank, int _intval = 1); … … 110 107 public : // Tests 111 108 112 static inline bool IsMaster(MPIComm _comm) 113 { return (CMPIManager::IsMaster(MPI_Comm_f2c(_comm))); } 114 115 static inline bool IsRank(int _rank, MPIComm _comm) 116 { return (CMPIManager::IsRank(_rank, MPI_Comm_f2c(_comm))); } 109 117 110 118 111 static bool IsMaster(MPI_Comm _comm = MPI_COMM_WORLD); … … 126 119 static bool Test (MPI_Request & _request); 127 120 128 129 static inline bool HasReceivedData(MPIComm _comm, int _src_rank)130 { return (CMPIManager::HasReceivedData(MPI_Comm_f2c(_comm), _src_rank)); }131 132 static inline std::size_t GetReceivedDataSize(MPIComm _comm, int _src_rank)133 { return (CMPIManager::GetReceivedDataSize(MPI_Comm_f2c(_comm), _src_rank)); }134 135 136 121 137 122 static bool HasReceivedData(MPI_Comm _comm, int _src_rank); 138 123 139 124 static std::size_t GetReceivedDataSize(MPI_Comm _comm, int _src_rank); 125 140 126 static void Receive(MPI_Comm _comm, int _src_rank, char * _data); 141 127 … … 150 136 public : // Communication 'complexe' 151 137 152 static inline void SendLinearBuffer(MPIComm _comm, int _dest_rank, CLinearBuffer & _lbuffer, MPI_Request & _request) 153 { CMPIManager::SendLinearBuffer(MPI_Comm_f2c(_comm), _dest_rank, _lbuffer, _request); } 154 155 static inline void ReceiveLinearBuffer(MPIComm _comm, int _src_rank, CLinearBuffer & _lbuffer) 156 { CMPIManager::ReceiveLinearBuffer(MPI_Comm_f2c(_comm), _src_rank, _lbuffer); } 157 158 static inline boost::shared_ptr<CLinearBuffer> ReceiveLinearBuffer(MPIComm _comm, int _src_rank) 159 { return (CMPIManager::ReceiveLinearBuffer(MPI_Comm_f2c(_comm), _src_rank)); } 160 161 static inline void ReceiveCircularBuffer(MPIComm _comm, int _src_rank, CCircularBuffer & _cbuffer) 162 { CMPIManager::ReceiveCircularBuffer(MPI_Comm_f2c(_comm), _src_rank, _cbuffer); } 163 164 138 165 139 static void SendLinearBuffer(MPI_Comm _comm, int _dest_rank, CLinearBuffer & _lbuffer, MPI_Request & _request); 166 140 static void ReceiveLinearBuffer(MPI_Comm _comm, int _src_rank, CLinearBuffer & _lbuffer); … … 175 149 static void FreeMemory (void * _data); 176 150 151 private : 152 153 static bool Initialized ; 154 static MPI_Comm CommClient ; 155 static MPI_Comm CommServer ; 156 static MPI_Comm CommClientServer ; 157 static int NbClient ; 158 static int NbServer ; 159 160 static bool _IsClient ; 161 static bool _IsServer ; 162 static bool using_server ; 163 static bool using_oasis ; 164 177 165 }; // class CMPIManager 178 166 -
XMLIO_V2/dev/common/src/xmlio/manager/tree_manager.cpp
r274 r286 129 129 130 130 131 // std::cout << "Nombre de contexte :" << ctxtnb << std::endl;132 131 133 132 for (StdSize i = 0; i < ctxtnb; i++) … … 148 147 is.read (const_cast<char *>(id.data()), size * sizeof(char)); 149 148 150 // std::cout << "context ::::" << id << std::endl;151 149 152 150 CTreeManager::SetCurrentContextId(id); … … 187 185 os.write (reinterpret_cast<const char*>(&genum) , sizeof(ENodeType)); 188 186 os.write (reinterpret_cast<const char*>(&size) , sizeof(StdSize)); 189 187 190 188 for (StdSize i = 0; i < size; i++) 191 189 { … … 232 230 233 231 os.write (reinterpret_cast<const char*>(&idsize), sizeof(StdSize)); 234 os.write (id.data(), idsize * sizeof(char)); 232 os.write (id.data(), idsize * sizeof(char)); 235 233 } 236 234 domain->toBinary(os); … … 273 271 const StdSize size = def_vector.size(); 274 272 275 is.read (reinterpret_cast<char*>(&renum), sizeof( StdSize));276 is.read (reinterpret_cast<char*>(&ctxtnb), sizeof( ENodeType));273 is.read (reinterpret_cast<char*>(&renum), sizeof(ENodeType)); 274 is.read (reinterpret_cast<char*>(&ctxtnb), sizeof(StdSize)); 277 275 278 276 if (renum != CContextGroup::GetType()) … … 282 280 if (size != ctxtnb) 283 281 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 284 << "[ size = " << size << "] Bad context group size !");282 << "[ size = " << size << "] != "<<ctxtnb<<" : Bad context group size !"); 285 283 286 284 for (StdSize i = 0; i < ctxtnb; i++) … … 330 328 331 329 // Lecture successive des informations binaires de domaine. 330 332 331 for (StdSize j = 0; j < alldomain_size; j++) 333 332 { … … 352 351 if (domain->getId().compare(id) != 0) 353 352 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 354 << "[ id = " << id<< "] Bad id !");353 << "[ id = " << id <<" != "<<domain->getId()<< "] Bad id !"); 355 354 } 356 355 domain->fromBinary(is); … … 380 379 if (grid->getId().compare(id) != 0) 381 380 ERROR("CTreeManager::DomainsFromBinary(StdIStream & is)", 382 << "[ id = " << id << "] Bad id !");381 << "[ id = " << id <<" != "<<grid->getId()<< "] Bad id !"); 383 382 } 384 383 grid->fromBinary(is); -
XMLIO_V2/dev/common/src/xmlio/manager/xios_manager.cpp
r278 r286 17 17 { 18 18 // Initialisation de la biliothÚque MPI si nécessaire 19 comm::CMPIManager::Initialise (argc, argv);19 comm::CMPIManager::InitialiseServer(argc, argv); 20 20 ExeName = StdString((*argv)[0]); 21 21 for (int i = 1; i < *argc; i++) … … 43 43 44 44 StdString CXIOSManager::ClientName("unknown name"); 45 comm::MPIComm CXIOSManager::Comm_Client_Server = -1;46 comm::MPIComm CXIOSManager::Comm_Server = -1;45 MPI_Comm CXIOSManager::Comm_Client_Server = MPI_COMM_NULL; 46 MPI_Comm CXIOSManager::Comm_Server = MPI_COMM_NULL; 47 47 48 48 xios_map<StdString, CXIOSManager::XIOSClient> CXIOSManager::Clients; … … 51 51 52 52 void CXIOSManager::RunServer 53 (StdString clientName, comm::MPIComm comm_client_server, comm::MPIComm comm_server)53 (StdString clientName, MPI_Comm comm_client_server, MPI_Comm comm_server) 54 54 { 55 55 using namespace comm; … … 69 69 // La quasi-totalité de l'arborescence est obtenue depuis les informations 70 70 // fournies par le client 1 du sous-groupe. 71 StdString main_data_tree = clientBuffer[0]->getString(0);71 /* StdString main_data_tree = clientBuffer[0]->getString(0); 72 72 tree::CTreeManager::FromBinary(main_data_tree); 73 73 … … 78 78 tree::CTreeManager::DomainsFromBinary(main_data_tree); 79 79 } 80 */ 81 82 // Obtention des sous-domaines clients. 83 for (StdSize j = 0; j < clientBuffer.size(); j++) 84 { 85 StdString main_data_tree = clientBuffer[j]->getString(0); 86 tree::CTreeManager::FromBinary(main_data_tree); 87 } 88 80 89 81 90 StdOStringStream osss; … … 111 120 //-------------------------------------------------------------- 112 121 113 void CXIOSManager::ShowInformation_CS( comm::MPIComm comm_client_server)122 void CXIOSManager::ShowInformation_CS(MPI_Comm comm_client_server) 114 123 { 115 124 using namespace comm; … … 149 158 } 150 159 151 comm::CMPIManager::Barrier( );160 comm::CMPIManager::Barrier(comm_client_server); 152 161 153 162 } … … 155 164 //-------------------------------------------------------------- 156 165 157 void CXIOSManager::RunClientServer( comm::MPIComm comm_client_server)166 void CXIOSManager::RunClientServer(MPI_Comm comm_client_server) 158 167 { 159 168 using namespace comm; … … 171 180 172 181 bool isClient = true, isIncl = false, isIncl_ = false; 173 MPI Comm comm_client = 0, comm_client_grp = 0; comm_client_server = 0;182 MPI_Comm comm_client = 0, comm_client_grp = 0; comm_client_server = 0; 174 183 175 184 for (;iit != eend; iit++) … … 187 196 { 188 197 end = start + nbClientPServer; 189 MPI Comm comm_ = CMPIManager::CreateComm198 MPI_Comm comm_ = CMPIManager::CreateComm 190 199 (CMPIManager::CreateSubGroup(CMPIManager::GetGroupWorld(), start, end)); 191 MPI Comm comm__ = CMPIManager::CreateComm200 MPI_Comm comm__ = CMPIManager::CreateComm 192 201 (CMPIManager::CreateSubGroup(CMPIManager::GetGroupWorld(), start+1, end)); 193 202 … … 212 221 if (clieindex.size() == nbClient) 213 222 { 214 MPI Comm comm___ = CMPIManager::CreateComm223 MPI_Comm comm___ = CMPIManager::CreateComm 215 224 (CMPIManager::CreateSubGroup(CMPIManager::GetGroupWorld(), clieindex)); 216 225 if (isIncl) comm_client = comm___; … … 221 230 start = start + nbClientPServer + 1; 222 231 } 223 MPI Comm comm____ = CMPIManager::CreateComm232 MPI_Comm comm____ = CMPIManager::CreateComm 224 233 (CMPIManager::CreateSubGroup(CMPIManager::GetGroupWorld(), servindex)); 225 234 if (isIncl_) CXIOSManager::Comm_Server = comm____; … … 245 254 //--------------------------------------------------------------- 246 255 247 void CXIOSManager::RunClient(bool launch, comm::MPIComm comm_client)256 void CXIOSManager::RunClient(bool launch, MPI_Comm comm_client) 248 257 { 249 258 if (launch) … … 263 272 264 273 void CXIOSManager::AddClient(StdString clientName, StdSize nbClient, StdSize nbClientPServer, 265 void (*entry_point)( comm::MPIComm, comm::MPIComm, comm::MPIComm))274 void (*entry_point)(MPI_Comm, MPI_Comm, MPI_Comm)) 266 275 { 267 276 StdSize nbprocess = comm::CMPIManager::GetCommSize(comm::CMPIManager::GetCommWorld()); -
XMLIO_V2/dev/common/src/xmlio/manager/xios_manager.hpp
r278 r286 25 25 StdSize nbClient; 26 26 StdSize nbClientPServer; 27 void (*entry)( comm::MPIComm, comm::MPIComm, comm::MPIComm) ;27 void (*entry)(MPI_Comm, MPI_Comm, MPI_Comm) ; 28 28 } XIOSClient; 29 29 … … 38 38 /// Ajout de client en mode CLIENT_SERVER et CLIENT/// 39 39 static void AddClient(StdString clientName, StdSize nbClient, StdSize nbClientPServer, 40 void (*entry_point)( comm::MPIComm, comm::MPIComm, comm::MPIComm));40 void (*entry_point)(MPI_Comm, MPI_Comm, MPI_Comm)); 41 41 42 42 /// Lancement des serveurs et/ou des clients /// 43 static void RunServer(StdString clientName, 44 comm::MPIComm comm_client_server, comm::MPIComm comm_server); 45 static void RunClient(bool launch = false, comm::MPIComm comm_client = 46 comm::CMPIManager::GetCommWorld()); 47 static void RunClientServer(comm::MPIComm comm_client_server = 48 comm::CMPIManager::GetCommWorld()); 43 static void RunServer(StdString clientName,MPI_Comm comm_client_server,MPI_Comm comm_server); 44 static void RunClient(bool launch = false, MPI_Comm comm_client = comm::CMPIManager::GetCommWorld()); 45 static void RunClientServer(MPI_Comm comm_client_server = comm::CMPIManager::GetCommWorld()); 49 46 50 47 public : … … 66 63 67 64 /// Information /// 68 static void ShowInformation_CS( comm::MPIComm comm_client_server);65 static void ShowInformation_CS(MPI_Comm comm_client_server); 69 66 70 67 /// Variables statiques privées /// … … 75 72 static XIOSStatus Status; 76 73 static StdString ClientName; 77 static comm::MPIComm Comm_Client_Server, Comm_Server;74 static MPI_Comm Comm_Client_Server, Comm_Server; 78 75 static xios_map<StdString, XIOSClient> Clients; 79 76
Note: See TracChangeset
for help on using the changeset viewer.