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 |