title: Is a MPI_Wait necessary after a MPI_Isend?
body: <p>For example,</p>
  
  <pre><code>if (rank == 0) {
      MPI_Isend(&amp;sendbuf, ..., 1, ..., &amp;request);
      MPI_Wait(&amp;request, ...);  /* Is this wait necessary? */
  } else if (rank == 1) {
      MPI_Irecv(&amp;recvbuf, ..., 0, ..., &amp;request);
      MPI_Wait(&amp;request, ...);
  }
  </code></pre>
  
  <p>Is the MPI_Wait following MPI_Isend necessary? In theory, </p>
  
  <blockquote>
    <p>A separate send complete call is needed to complete the communication.</p>
  </blockquote>
  
  <p>But in practice, it works without explicitly waiting for MPI_Isend.</p>