Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MPI non blocking send/recv

I'm curious at the lack of this function in MPI:

MPI_Isendrecv( ... );

i.e., a non-blocking send and receive, can anyone tell me the rationale behind its omission?

like image 696
Cramer Avatar asked Aug 30 '12 08:08

Cramer


1 Answers

My take is that MPI_SENDRECV exists as a convenience for programmers who want to use blocking semantics, but need to implement a shift operation. If you're comfortable with non-blocking semantics, you should simply use the existing MPI_ISEND and MPI_IRECV.

Interestingly, MPI-3 will add non-blocking collectives (e.g. MPI_IBARRIER), but still no MPI_ISENDRECV (see http://meetings.mpi-forum.org/draft_standard/mpi3.0_draft_2.pdf ).

like image 59
Edric Avatar answered Sep 23 '22 14:09

Edric