Open MPI logo

MPI_Comm_join(3) man page (version 1.3.4)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing



NAME

       MPI_Comm_join - Establishes communication between MPI jobs

SYNTAX


C Syntax

       #include <mpi.h>
       int MPI_Comm_join(int fd, MPI_Comm *intercomm)

Fortran Syntax

       INCLUDE 'mpif.h'
       MPI_COMM_JOIN(FD, INTERCOMM, IERROR)
            INTEGER   FD, INTERCOMM, IERROR

C++ Syntax

       #include <mpi.h>
       MPI::Intercomm MPI::Comm::Join(const int fd)

INPUT PARAMETER

       fd        socket file descriptor (socket).

OUTPUT PARAMETERS

       intercomm Intercommunicator between processes (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Comm_join  creates  an  intercommunicator from the union of two MPI
       processes that are connected by a socket. fd is a file descriptor  rep-
       resenting  a socket of type SOCK_STREAM (a two-way reliable byte-stream
       connection). Nonblocking I/O and asynchronous  notification  via  SIGIO
       must  not  be enabled for the socket. The socket must be in a connected
       state, and must be quiescent when MPI_Comm_join is called.

       MPI_Comm_join must be called by the process at each end of the  socket.
       It does not return until both processes have called MPI_Comm_join.

NOTES

       There  are  no MPI library calls for opening and manipulating a socket.
       The socket fd can be opened using standard socket API calls.  MPI  uses
       the  socket  to  bootstrap  creation  of the intercommunicator, and for
       nothing else. Upon return, the file descriptor will be open and  quies-
       cent.

       In  a  multithreaded  process,  the  application must ensure that other
       threads do not access the socket while one is in the midst  of  calling
       MPI_Comm_join.

       The  returned  communicator will contain the two processes connected by
       the socket, and may be used to establish MPI communication  with  addi-
       tional  processes,  through  the usual MPI communicator-creation mecha-
       nisms.

       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

       socket(3SOCKET)
       MPI_Comm_create
       MPI_Comm_group

1.3.4                            Nov 11, 2009                 MPI_Comm_join(3)

« Return to documentation listing