MPI_Bsend is the asynchronous blocking send (the capital 'B' standing for buffered); it will block until a copy of the buffer passed is made. MPI will effectively send the buffer copied at a later point, but the user cannot know when. As a blocking send, MPI_Bsend guarantees that the buffer passed can be safely reused once MPI_Bsend returns. Note that the size of the copy is equal to that of the buffer passed plus the memory overhead generated by an MPI_Bsend, represented by MPI_BSEND_OVERHEAD, which contains for instance the rank of the recipient process. The MPI buffer in which the copy will be made must be allocated by the user and explicitly attached to MPI using MPI_Buffer_attach. If no buffer is attached, the MPI standard states that MPI_Bsend behaves as if a zero-sized buffer was attached. MPI_Bsend may be invoked implicitly by the standard blocking send (MPI_Send). Other blocking sends are MPI_Send, MPI_Ssend and MPI_Rsend. Refer to MPI_Ibsend to see the non-blocking counterpart of MPI_Bsend.