MPI_Bsend function
Sends data to a specified process in buffered mode. This function returns when the send buffer can be safely reused.
Syntax
int MPIAPI MPI_Bsend(
_In_opt_ void *buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm
);
Parameters
buf [in, optional]
A pointer to the buffer that contains the data to be sent.count
The number of elements in the buffer array. If the data part of the message is empty, set the count parameter to 0.datatype
The data type of the elements in the buffer.dest
The rank of the destination process within the communicator that is specified by the comm parameter.tag
The message tag that can be used to distinguish different types of messages.comm
The handle to the communicator.
Return value
Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.
In Fortran, the return value is stored in the IERROR parameter.
Fortran
MPI_BSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR
Remarks
This function is local, it can complete the send operation successfully without the occurrence of a matching receive operation.
This function can be started whether or not a matching receive operation has been posted. It can complete the send operation before a matching receive is posted. Its completion does not depend on the occurrence of a matching receive operation. If you call this function and no matching receive operation is posted, the MPI implementation must buffer the outgoing message so that the send call can return.
This function returns an error if there is insufficient buffer space. The amount of available buffer space is controlled by the user by using the MPI_Buffer_attach function.
Requirements
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Library |
Msmpi.lib |
DLL |
Msmpi.dll |