Provided by: openmpi-doc_2.1.1-8_all bug

NAME

       MPI_Irecv - Starts a standard-mode, nonblocking receive.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Irecv(void *buf, int count, MPI_Datatype datatype,
               int source, int tag, MPI_Comm comm, MPI_Request *request)

Fortran Syntax

       INCLUDE 'mpif.h'
       MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST,
                 IERROR)
            <type>    BUF(*)
            INTEGER   COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR

C++ Syntax

       #include <mpi.h>
       Request Comm::Irecv(void* buf, int count, const Datatype&
            datatype, int source, int tag) const

INPUT PARAMETERS

       buf       Initial address of receive buffer (choice).

       count     Number of elements in receive buffer (integer).

       datatype  Datatype of each receive buffer element (handle).

       source    Rank of source (integer).

       tag       Message tag (integer).

       comm      Communicator (handle).

OUTPUT PARAMETERS

       request   Communication request (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       Nonblocking  calls  allocate  a  communication  request  object  and associate it with the
       request handle (the argument request). The request can be used later to query  the  status
       of the communication or wait for its completion.

       A  nonblocking  receive  call  indicates  that  the system may start writing data into the
       receive buffer. The receiver should not access any part of  the  receive  buffer  after  a
       nonblocking receive operation is called, until the receive completes.

       A  receive request can be determined being completed by calling the MPI_Wait, MPI_Waitany,
       MPI_Test, or MPI_Testany with request returned by this function.

ERRORS

       Almost all MPI routines return an error value; C routines as the value of the function and
       Fortran  routines in the last argument. C++ functions do not return errors. If the default
       error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then  on  error  the  C++  exception
       mechanism will be used to throw an MPI::Exception object.

       Before  the  error value is returned, the current MPI error handler is called. By default,
       this error handler aborts the MPI job, except for I/O function errors. The  error  handler
       may    be   changed   with   MPI_Comm_set_errhandler;   the   predefined   error   handler
       MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not
       guarantee that an MPI program can continue past an error.

SEE ALSO

       MPI_Recv MPI_Probe MPI_Test MPI_Testany MPI_Wait MPI_Waitany