MPI_Ibcast function
Broadcasts a message from the process with rank "root" to all other processes of the communicator in a non-blocking way.
Syntax
int MPIAPI MPI_Ibcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parameters
buffer [in, out]
The pointer to the data buffer. On the process that is specified by the root parameter, the buffer contains the data to be broadcast. On all other processes in the communicator that is specified by the comm parameter, the buffer receives the data broadcast by the root process. buffer consists of count successive elements of the MPI_Datatype indicated by the datatype handle. The message length is specified in terms of number of elements, not number of bytes.count [in]
The number of data elements in the buffer. If the count parameter is zero, the data part of the message is empty.datatype [in]
The MPI_Datatype handle representing the data type of each element in buffer.root [in]
The rank of the process within the MPI_Comm comm sending buffer.comm [in]
The MPI_Comm communicator handle.request [out]
MPI_Request handle representing the communication operation..
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_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR
Remarks
A non-blocking call initiates a collective broadcast operation which must be completed in a separate completion call. Once initiated, the operation may progress independently of any computation or other communication at participating processes. In this manner, non-blocking broadcast operations can mitigate possible synchronizing effects of broadcast operations by running them in the “background.”
All completion calls (e.g., MPI_Wait) are supported for non-blocking broadcast operations.
Requirements
Product |
Microsoft MPI v6 |
Header |
Mpi.h; Mpif.h |
Library |
Msmpi.lib |
DLL |
Msmpi.dll |