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

 

 

Show: