To: J3 11-235r1 From: John Reid / Van Snyder Subject: Edits to PDTR 29913 in response to GB3 Date: 2011 October 10 Reference: WG5/N1869, WG5/N1881 Discussion Comment GB3 in WG5/N1881 asks for a note in 2.4.2 "with an explanation of asynchronous communication and an example illustrating it". Here is a suggestion for that note. At the end of 2.4.2 of WG5/N1869 (page 5) add "NOTE 2.5 Asynchronous communication can be used for nonblocking MPI calls such as MPI_IRECV and MPI_ISEND. For example, REAL :: BUF(100,100) ... ! Code that involves BUF BLOCK ASYNCHRONOUS :: BUF CALL MPI_IRECV(BUF,...REQ,...) ... ! Code that does not involve BUF CALL MPI_WAIT(REQ,...) END BLOCK ... ! Code that involves BUF In this example, there is asynchronous input communication and BUF is a pending communication affector between the two calls. MPI_IRECV may return while the communication (reading values into BUF) is still underway. The intent is that the code between MPI_IRECV and MPI_WAIT executes without waiting for this communication to complete. The restrictions are the same as for asynchronous data transfer input. Similar code with the call of MPI_IRECV replaced by a call of MPI_ISEND is asynchronous output communication. The restrictions are the same as for asynchronous data transfer output."