PetscCommDestroyNonempty#

Releases a communicator obtained from PetscCommCreateNonempty()

Synopsis#

#include "petscsys.h"    
PetscErrorCode PetscCommDestroyNonempty(MPI_Comm comm, MPI_Comm *subcomm)

Collective

Input Parameter#

  • comm - the communicator that was split

Input/Output Parameter#

  • subcomm - the communicator to release, set to MPI_COMM_NULL

Notes#

PetscCommCreateNonempty() returns comm itself when every process owns data, so subcomm is freed only when it is a different communicator.

The only communication this performs is the MPI_Comm_free() of subcomm, so it is collective over subcomm; comm serves only to recognize the case where no new communicator was created. Every process of subcomm must call this. On a process where subcomm is MPI_COMM_NULL the call does nothing, so it may be omitted there.

See Also#

PetscCommCreateNonempty(), PetscCommDestroy()

Level#

developer

Location#

src/sys/objects/subcomm.c


Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages