Provided by: openmpi-doc_4.1.4-3ubuntu2_all bug

NAME

       MPI_Recv_init - Builds a handle for a receive.

SYNTAX

C Syntax

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

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_RECV_INIT(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST,
                 IERROR)
            <type>    BUF(*)
            INTEGER   COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Recv_init(buf, count, datatype, source, tag, comm, request, ierror)
            TYPE(*), DIMENSION(..), ASYNCHRONOUS :: buf
            INTEGER, INTENT(IN) :: count, source, tag
            TYPE(MPI_Datatype), INTENT(IN) :: datatype
            TYPE(MPI_Comm), INTENT(IN) :: comm
            TYPE(MPI_Request), INTENT(OUT) :: request
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

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

INPUT PARAMETERS

       count     Maximum number of elements to receive (integer).

       datatype  Type of each entry (handle).

       source    Rank of source (integer).

       tag       Message tag (integer).

       comm      Communicator (handle).

INPUT/OUTPUT PARAMETER

       buf       Initial address of receive buffer (choice).

OUTPUT PARAMETERS

       request   Communication request (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       Creates  a  persistent  communication request for a receive operation. The argument buf is
       marked as OUT because the user gives permission to write on the receive buffer by  passing
       the argument to MPI_Recv_init.

       A  persistent  communication  request  is  inactive  after  it  is  created  --  no active
       communication is attached to the request.

       A communication (send or receive) that uses a  persistent  request  is  initiated  by  the
       function MPI_Start or MPI_Startall.

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_Bsend_init
       MPI_Rsend_init
       MPI_Send_init
       MPI_Sssend_init
       MPI_Start
       MPI_Startall
       MPI_Request_free