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

4.1.6                                             Sep 30, 2023                            MPI_Comm_get_parent(3)