Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
implement mpi_isendrecv and mpi_isendrecv_replace
[simgrid.git] / src / smpi / include / smpi_request.hpp
index a8b26a6..9b0a6cc 100644 (file)
@@ -47,11 +47,11 @@ class Request : public F2C {
   bool detached_;
   MPI_Request detached_sender_;
   int refcount_;
-  unsigned int message_id_;
+  std::vector<unsigned int> message_id_;
   MPI_Op op_;
   std::unique_ptr<smpi_mpi_generalized_request_funcs_t> generalized_funcs;
   std::vector<MPI_Request> nbc_requests_;
-  s4u::Host* src_host_ = nullptr; //!< save simgrid's source host since it can finished before the recv
+  s4u::Host* src_host_ = nullptr; //!< save SimGrid's source host since it can finished before the recv
   static bool match_common(MPI_Request req, MPI_Request sender, MPI_Request receiver);
   static bool match_types(MPI_Datatype stype, MPI_Datatype rtype);
 
@@ -102,6 +102,8 @@ public:
 
   static void sendrecv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, int dst, int sendtag, void* recvbuf,
                        int recvcount, MPI_Datatype recvtype, int src, int recvtag, MPI_Comm comm, MPI_Status* status);
+  static void isendrecv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, int dst, int sendtag, void* recvbuf,
+                       int recvcount, MPI_Datatype recvtype, int src, int recvtag, MPI_Comm comm, MPI_Request* request);
 
   static void startall(int count, MPI_Request* requests);