.TH MPI_Bsend_c 3 "2/22/2022" " " "MPI" .SH NAME MPI_Bsend_c \- Basic send with user-provided buffering .SH SYNOPSIS .nf int MPI_Bsend_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) .fi .SH INPUT PARAMETERS .PD 0 .TP .B buf - initial address of send buffer (choice) (choice) .PD 1 .PD 0 .TP .B count - number of elements in send buffer (non-negative integer) (non-negative integer) .PD 1 .PD 0 .TP .B datatype - datatype of each send buffer element (handle) (handle) .PD 1 .PD 0 .TP .B dest - rank of destination (integer) (integer) .PD 1 .PD 0 .TP .B tag - message tag (integer) (integer) .PD 1 .PD 0 .TP .B comm - communicator (handle) (handle) .PD 1 .SH NOTES This send is provided as a convenience function; it allows the user to send messages without worring about where they are buffered (because the user .B must have provided buffer space with .I MPI_Buffer_attach ). In deciding how much buffer space to allocate, remember that the buffer space is not available for reuse by subsequent .I MPI_Bsend s unless you are certain that the message has been received (not just that it should have been received). For example, this code does not allocate enough buffer space .nf MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD); for (i=0; i