oracular (3) MPI_Comm_get_parent.openmpi.3.gz

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

NAME

       MPI_Comm_get_parent - Returns the parent intercommunicator of current spawned process.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Comm_get_parent(MPI_Comm *parent)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_COMM_GET_PARENT(PARENT, IERROR)
            INTEGER   PARENT, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Comm_get_parent(parent, ierror)
            TYPE(MPI_Comm), INTENT(OUT) :: parent
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       static MPI::Intercomm MPI::Comm::Get_parent()

OUTPUT PARAMETERS

       parent    The parent communicator (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       If  a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, MPI_Comm_get_parent returns the
       "parent" intercommunicator of the current process. This parent intercommunicator  is  created  implicitly
       inside of MPI_Init and is the same intercommunicator returned by the spawn call made in the parents.

       If the process was not spawned, MPI_Comm_get_parent returns MPI_COMM_NULL.

       After the parent communicator is freed or disconnected, MPI_Comm_get_parent returns MPI_COMM_NULL.

NOTES

       MPI_Comm_get_parent  returns a handle to a single intercommunicator. Calling MPI_Comm_get_parent a second
       time returns a handle to the same intercommunicator.  Freeing  the  handle  with  MPI_Comm_disconnect  or
       MPI_Comm_free  will  cause  other  references to the intercommunicator to become invalid (dangling). Note
       that calling MPI_Comm_free on the parent communicator is not useful.

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_spawn
       MPI_Comm_spawn_multiple