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.
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 , , , .