MPI_Irecv function

Initiates a receive operation and returns a handle to the requested communication operation.

Syntax

int MPIAPI MPI_Irecv(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          source,
           int          tag,
           MPI_Comm     comm,
  _Out_    MPI_Request  *request
);

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.

  • source
    The rank of the sending process within the specified communicator. Specify the MPI_ANY_SOURCE constant to specify that any source is acceptable.

  • tag
    The message tag that can be used to distinguish different types of messages. Specify the MPI_ANY_TAG constant to indicate that any tag is acceptable.

  • comm
    The handle to the communicator.

  • request [out]
    On return, contains a handle to the requested 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_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR

Remarks

This function is local, it returns immediately, and does not wait for any other process. This function can return before the message is received into the buffer.

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

See also

MPI Point to Point Functions

MPI_Send

MPI_Recv

MPI_Wait

MPI_Test

MPI_Comm

MPI_Datatype