oracular (3) MPI_Comm_connect.openmpi.3.gz

Provided by: openmpi-doc_4.1.6-13.3ubuntu2_all bug

NAME

       MPI_Comm_connect  - Establishes communication with a server.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Comm_connect(const char *port_name, MPI_Info info, int root,
            MPI_Comm comm, MPI_Comm *newcomm)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_COMM_CONNECT(PORT_NAME, INFO, ROOT, COMM, NEWCOMM, IERROR)
            CHARACTER*(*)  PORT_NAME
            INTEGER        INFO, ROOT, COMM, NEWCOMM, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Comm_connect(port_name, info, root, comm, newcomm, ierror)
            CHARACTER(LEN=*), INTENT(IN) :: port_name
            TYPE(MPI_Info), INTENT(IN) :: info
            INTEGER, INTENT(IN) :: root
            TYPE(MPI_Comm), INTENT(IN) :: comm
            TYPE(MPI_Comm), INTENT(OUT) :: newcomm
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       MPI::Intercomm MPI::Intracomm::Connect(const char* port_name,
            const MPI::Info& info, int root) const

INPUT PARAMETERS

       port_name Port name (string, used only on root).

       info      Options  given  by  root  for  the  connect  (handle,  used only on root). No options currently
                 supported.

       root      Rank in comm of root node (integer).

       comm      Intracommunicator over which call is collective (handle).

OUTPUT PARAMETERS

       newcomm   Intercommunicator with client as remote group (handle)

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Comm_connect establishes communication with a server specified by port_name. It  is  collective  over
       the  calling  communicator  and returns an intercommunicator in which the remote group participated in an
       MPI_Comm_accept. The MPI_Comm_connect call must only be called after the MPI_Comm_accept  call  has  been
       made by the MPI job acting as the server.

       If  the  named  port  does  not  exist  (or  has  been closed), MPI_Comm_connect raises an error of class
       MPI_ERR_PORT.

       MPI provides no guarantee of fairness in servicing connection attempts. That is, connection attempts  are
       not  necessarily  satisfied  in  the  order  in  which  they  were  initiated, and competition from other
       connection attempts may prevent a particular connection attempt from being satisfied.

       The port_name parameter is the address of the server. It must  be  the  same  as  the  name  returned  by
       MPI_Open_port on the server.

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 the MPI man page for a full list of MPI error codes.

SEE ALSO

       MPI_Comm_accept MPI_Open_port