MPI_Group_range_excl function

Creates a new group by removing processes from an existing group.

Syntax

int MPIAPI MPI_Group_range_excl(
        MPI_Group         group,
        int               n,
        _In_count_(n) int ranges[][3],
  _Out_ MPI_Group         *newgroup
);

Parameters

  • group
    The existing group.

  • n
    The number of ranges of processes to exclude from the new group.

  • ranges
    An array of specifications of processes to exclude from the existing group. Each element of the array specifies a range of process in the form of three integers for the first rank, last rank, and stride.

  • newgroup [out]
    A pointer to a handle that represents the new group that contains those processes that were not excluded. The order of the group is preserved.

Return value

Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.

In Fortran, the return value is stored in the IERROR parameter.

Fortran

    MPI_GROUP_RANGE_EXCL(GROUP, N, RANGES, NEWGROUP, IERROR)
        INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR

Remarks

Each computed rank must be a valid rank in the existing group and all computed ranks must be distinct; otherwise the function returns an error.

This is a local operation. Different processes can define distinct groups. A process can define a group that does not include itself.

The MPI implementation does not provide a mechanism to build a group from scratch, but only from existing groups. The base group, upon which all other groups are defined, can be retrieved by using the MPI_Comm_group function. It is the group that is associated with the initial communicator MPI_COMM_WORLD.

Requirements

Product

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Library

Msmpi.lib

DLL

Msmpi.dll

See also

MPI Group Functions

MPI_Group_excl

MPI_Comm_group