oracular (3) MPI_Intercomm_merge.openmpi.3.gz

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

NAME

       MPI_Intercomm_merge - Creates an intracommunicator from an intercommunicator.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Intercomm_merge(MPI_Comm intercomm, int high,
            MPI_Comm *newintracomm)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_INTERCOMM_MERGE(INTERCOMM, HIGH, NEWINTRACOMM, IERROR)
            INTEGER   INTERCOMM, NEWINTRACOMM, IERROR
            LOGICAL   HIGH

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Intercomm_merge(intercomm, high, newintracomm, ierror)
            TYPE(MPI_Comm), INTENT(IN) :: intercomm
            LOGICAL, INTENT(IN) :: high
            TYPE(MPI_Comm), INTENT(OUT) :: newintracomm
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       Intracomm Intercomm::Merge(bool high) const

INPUT PARAMETERS

       intercomm Intercommunicator (type indicator).

       high      Used  to  order  the  groups  of  the  two intracommunicators within comm when creating the new
                 communicator (type indicator).

OUTPUT PARAMETERS

       newintracomm
                 Created intracommunicator (type indicator).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       This function creates an intracommunicator from the union of the two  groups  that  are  associated  with
       intercomm.  All  processes should provide the same high value within each of the two groups. If processes
       in one group provide the value high = false and processes in the other group provide  the  value  high  =
       true,  then  the  union orders the "low" group before the "high" group. If all processes provide the same
       high argument, then the order of the union is arbitrary. This call is blocking and collective within  the
       union of the two groups.

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_Intercomm_create
       MPI_Comm_free