6.5.2 笛卡尔方便函数: MPI_DIMS_CREATE

BACKWARD FORWARD


对于笛卡尔拓扑, 函数MPI_DIMS_CREATE帮助用户选择在每一坐标方向上一个平衡的进程分布, 这将依赖于组中要平衡的进程数以及由用户指定的限制。一个应用是将所有的进程(MPI_COMM_WORLD组的大小)划分到一个n维拓扑上。

MPI_DIMS_CREATE(nnodes, ndims,dims)

int MPI_Dims_create(int nnodes, int ndims, int *dims)

MPI_DIMS_CREATE(NNODE, NDIMS, DIMS, IERROR)

在数组dims中的单元被赋值,用来描述带有ndims维和总共nnodes结点的笛卡尔网格。通过使用合适的划分算法, 将维设置成彼此尽可能相近。调用者通过说明数组dims的元素,来更进一步限制这个例程的操作。如果dims[i]设置为正数,例程将不会修改第i维中的结点数; 只有那些dims[i]=0的单元,被调用所修改。

dims[i]中的负的输入值被认为是错误的。如果nnodes不是 倍数, 那么将发生错误。

由于dims[i]被调用设置, dims[i]将以非递增的顺序排序。数组dims适合于作为例程MPI_CART_CREATE的输入。MPI_DIMS_CREATE是局域的。

例6.1


Copyright: NPACT BACKWARD FORWARD