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

See also

MPI Collective Functions

MPI_Bcast

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome

MPI_Comm