Changeset 267 for XMLIO_V2/dev/dev_rv/src4/xmlio
- Timestamp:
- 09/07/11 14:25:56 (13 years ago)
- Location:
- XMLIO_V2/dev/dev_rv/src4/xmlio/mpi
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src4/xmlio/mpi/mpi_interface.cpp
r256 r267 253 253 // ------------------------- Communication 'complexe' ----------------------- 254 254 255 //void SendLinearBuffer(MPIComm comm, int dest_rank, CLinearBuffer & buff, MPIRequest & request); 256 //void ReceiveLinearBuffer(MPIComm comm, int src_rank, CLinearBuffer & buff); 257 //boost::shared_ptr<CLinearBuffer> ReceiveLinearBuffer(MPIComm comm, int src_rank); 258 //void ReceiveCircularBuffer(MPIComm comm, int src_rank, CCircularBuffer & buff); 255 void CMPIManager::SendLinearBuffer(MPI_Comm _comm, int _dest_rank, CLinearBuffer & _lbuffer, MPI_Request & _request) 256 { 257 CMPIManager::Send(_comm, _dest_rank, _lbuffer, _lbuffer.getUsedSize(), _request); 258 buff.clear(); 259 } 260 261 void CMPIManager::ReceiveLinearBuffer(MPI_Comm _comm, int _src_rank, CLinearBuffer & _lbuffer) 262 { 263 CMPIManager::Receive(_comm, _src_rank, _lbuffer); 264 _lbuffer.computeBufferData(); 265 } 266 267 boost::shared_ptr<CLinearBuffer> CMPIManager::ReceiveLinearBuffer(MPI_Comm _comm, int _src_rank) 268 { 269 boost::shared_ptr<CLinearBuffer> buff_ptr 270 (new CLinearBuffer(CMPIManager::GetReceivedDataSize(_comm, _src_rank))); 271 CMPIManager::ReceiveLinearBuffer(_comm, _src_rank, *buff_ptr); 272 return (buff_ptr); 273 } 274 275 void CMPIManager::ReceiveCircularBuffer(MPI_Comm _comm, int _src_rank, CCircularBuffer & _cbuffer) 276 { 277 std::size_t data_size = CMPIManager::GetReceivedDataSize(_comm, _src_rank); 278 std::size_t data_begin = buff.prepareNextDataPosition(data_size); 279 CMPIManager::Receive(comm, src_rank, buff.getData(data_begin)); 280 _cbuffer.updateNbRequests(data_begin, data_begin + data_size); 281 } 259 282 260 283 // ---------------------- Mémoire (non fonctionnel ....) -------------------- -
XMLIO_V2/dev/dev_rv/src4/xmlio/mpi/mpi_interface.hpp
r256 r267 100 100 public : // Communication 'complexe' 101 101 102 // static void SendLinearBuffer(MPIComm comm, int dest_rank, CLinearBuffer & buff, MPIRequest &request);103 // static void ReceiveLinearBuffer(MPIComm comm, int src_rank, CLinearBuffer & buff);104 // static boost::shared_ptr<CLinearBuffer> ReceiveLinearBuffer(MPIComm comm, intsrc_rank);105 // static void ReceiveCircularBuffer(MPIComm comm, int src_rank, CCircularBuffer & buff);102 static void SendLinearBuffer(MPI_Comm _comm, int _dest_rank, CLinearBuffer & _lbuffer, MPI_Request & _request); 103 static void ReceiveLinearBuffer(MPI_Comm _comm, int _src_rank, CLinearBuffer & _lbuffer); 104 static boost::shared_ptr<CLinearBuffer> ReceiveLinearBuffer(MPI_Comm _comm, int _src_rank); 105 static void ReceiveCircularBuffer(MPI_Comm _comm, int _src_rank, CCircularBuffer & _cbuffer); 106 106 107 107 public : // Mémoire (non fonctionnel ....)
Note: See TracChangeset
for help on using the changeset viewer.