Skip to content

Latest commit

 

History

History
92 lines (65 loc) · 2.3 KB

MPIX_Comm_revoke.3.rst

File metadata and controls

92 lines (65 loc) · 2.3 KB

MPIX_Comm_revoke

MPIX_Comm_revoke - Revoke a communicator, causing errors to be raised, at all ranks, for non-local operations on the communicator.

This is part of the User Level Fault Mitigation ULFM extension <ulfm-label>.

SYNTAX

C Syntax

#include <mpi.h>
#include <mpi-ext.h>

int MPIX_Comm_revoke(MPI_Comm comm)

Fortran Syntax

USE MPI
USE MPI_EXT
! or the older form: INCLUDE 'mpif.h'

MPIX_COMM_REVOKE(COMM, IERROR)
     INTEGER COMM, IERROR

Fortran 2008 Syntax

USE mpi_f08
USE mpi_ext_f08

MPIX_Comm_revoke(comm, ierror)
     TYPE(MPI_Comm), INTENT(IN) :: comm
     INTEGER, OPTIONAL, INTENT(OUT) :: ierror

INPUT PARAMETERS

  • comm: Communicator (handle).

OUTPUT PARAMETERS

  • ierror: Fortran only: Error status (integer).

DESCRIPTION

This function marks the communicator comm as revoked at all MPI processes in the groups (local and remote) associated with the communicator comm. This function is not collective and therefore does not have a matching call on remote MPI processes.

The documentation for MPIX_Comm_is_revoked details the conditions for when a communicator becomes revoked locally, and what semantics apply on a revoked communicator. In summary, when a communicator is revoked, non-local operation raise an exception of class MPIX_ERR_REVOKED, except for select fault-tolerant operations.

PROPAGATION OF THE REVOKED STATE AND ORDERING

The implementation propagates the revoked state in a fault-tolerant manner; thus, the communicator becomes revoked at all non-failed MPI processes belonging to comm despite failed processes.

There is no particular ordering between the revocation call at another process and the completion of operations at a local process, for example, a receive operation can raise an error of class MPIX_ERR_REVOKED, even if the send operation procedure is called before the revoke procedure at the sender.

ERRORS

* MPIX_Comm_is_revoked * MPIX_Comm_agree * MPIX_Comm_shrink