MPI_Group_range_incl 函数

一个组构造函数,用于通过向现有组添加其他排名集来定义新组。

语法

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

参数

  • group
    现有组。

  • n
    数组范围中的三元组数。

  • 范围
    要包含在新组中的进程规范的数组。 数组的每个元素都以三个整数的形式为第一个排名、最后一个排名和步幅指定一个进程范围。

  • newgroup [out]
    指向表示新组的句柄的指针。 新组包含其他排名集。 顺序由 范围定义。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

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

注解

如果范围由 first1、last1、stride) 1 (、... (firstn 的三元组组成, lastn、striden) ,然后 newgroup组中 的进程序列组成,排名为 first1、first1 + stride1、...、 RoundDown ( (last1 - first1) /stride1) *stride1、...、firstn、firstn + striden、...、 RoundDown ( (lastn - firstn) /striden) *striden。

每个计算排名必须是新组中的有效排名,并且所有计算排名都必须是不同的。 否则,该函数将返回错误。

注意

请注意,可以将 first[i] 设置为大于 last[i]stride[i] 可以为负,但不能为零。

 

这是一个本地操作。 不同的进程可以定义不同的组。 进程可以定义不包含自身的组。

MPI 实现不提供从头开始生成组的机制,而只能从现有组生成组。 可以使用 MPI_Comm_group 函数检索定义所有其他组的基组。 它是与初始通信器 MPI_COMM_WORLD关联的组。

要求

产品

HPC Pack 2012 MS-MPI 可再发行程序包、HPC Pack 2008 R2 MS-MPI 可再发行程序包、HPC Pack 2008 MS-MPI 可再发行程序包或 HPC Pack 2008 客户端实用工具

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 组函数

MPI_Group_incl

MPI_Comm_group