ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



MPI_Comm_join(3OpenMPI)                                                              MPI_Comm_join(3OpenMPI)



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 representing a socket of type SOCK_STREAM (a two-way reliable byte-stream bytestream
       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 quiescent.

       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 additional processes, through the  usual  MPI  communicator-creation
       mechanisms.


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
       socket(3SOCKET)
       MPI_Comm_create
       MPI_Comm_group




Open MPI 1.2                                   September 2006                        MPI_Comm_join(3OpenMPI)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.