MPI_COMM_FREE(comm) | |
INOUT comm | communicator to be destroyed (handle) |
int MPI_Comm_free(MPI_Comm *comm)
MPI_COMM_FREE(COMM, IERROR)
INTEGER COMM, IERROR
void MPI::Comm::Free()
This collective operation marks the communication object for
deallocation. The handle is set to MPI_COMM_NULL.
Any pending operations that use this communicator will complete normally;
the object is actually
deallocated only if there are no other active references to it.
This call applies to intra- and inter-communicators. The delete callback
functions for all cached attributes (see Section Caching
) are
called in arbitrary order.
Advice
to implementors.
A reference-count mechanism may be used: the reference count is incremented by each call to MPI_COMM_DUP, and decremented by each call to MPI_COMM_FREE. The object is ultimately deallocated when the count reaches zero.
Though collective, it is anticipated that this operation will normally
be implemented to be local, though
a
debugging version of an MPI library might
choose to synchronize.
( End of advice to implementors.)