MPI_Comm_create(3)                 Open MPI                 MPI_Comm_create(3)



NAME
       MPI_Comm_create - Creates a new communicator.


SYNTAX
C Syntax
       #include <mpi.h>
       int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)


Fortran Syntax
       INCLUDE 'mpif.h'
       MPI_COMM_CREATE(COMM, GROUP, NEWCOMM, IERROR)
            INTEGER   COMM, GROUP, NEW, IERROR


C++ Syntax
       #include <mpi.h>
       MPI::Intercomm MPI::Intercomm::Create(const Group& group) const

       MPI::Intracomm MPI::Intracomm::Create(const Group& group) const


INPUT PARAMETER
       comm      Communicator (handle).

       group     Group, which is a subset of the group of comm (handle).


OUTPUT PARAMETERS
       newcomm   New communicator (handle).

       IERROR    Fortran only: Error status (integer).


DESCRIPTION
       This function creates a new communicator newcomm with communication
       group defined by group and a new context. The function sets newcomm to
       a new communicator that spans all the processes that are in the group.
       It sets newcomm to MPI_COMM_NULL for processes that are not in the
       group.   The call is erroneous if not all group arguments have the same
       value, or if group is not a subset of the group associated with comm.
       Note that the call must be executed by all processes in comm, even if
       they do not belong to the new group.


NOTES
       MPI_Comm_create provides a means of making a subset of processes for
       the purpose of separate MIMD computation, with separate communication
       space. newcomm, which is created by MPI_Comm_create, can be used in
       subsequent calls to MPI_Comm_create (or other communicator
       constructors) to further subdivide a computation into parallel sub-
       computations. A more general service is provided by MPI_Comm_split.


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_Comm_split

       MPI_Intercomm_create




1.4.1                            Jan 14, 2010               MPI_Comm_create(3)
