Sending multiple mpi without blocking sending - will it save the sent order

let's say I have 3 non-blocking items like this

  • MPI_Isend ();
  • MPI_Isend ();
  • MPI_Isend ();

and 3 appropriate tricks

  • MPI_Recv ();
  • MPI_Recv ();
  • MPI_Recv ();

Now suppose that the second Isend does not send so, since the third Isend does not block it, it will be sent. Will MPI_Recv functions be assigned now?

I mean, the first MPI_ISend will send data on the first reception, and the second MPI_ISent on the second MPI_Recv, etc.

+5
source share
1 answer

Updated : Jeremy Willcock in the comments below, I think it is correct, and this answer was incorrect.

ISends , , , - ; MPI , (, , Recv) , Isends.

ISend , , , ( , , ), : any Isends, ISend - , MPI_Recv() Isend, Recv Isend, , Isend.

, MPI_Recv , , , .

0

All Articles