【发布时间】:2017-05-27 11:06:41
【问题描述】:
我正在尝试为 2D 子矩阵创建数据类型并使用 MPI 对其进行处理。到目前为止我发现的是this 问题。对它的回答完全涵盖了我的问题。我唯一不明白的是如何计算子数组数据类型的范围。任何解释都会很有帮助。
这是从该问题的答案中复制的代码和语句:
MPI_Datatype newtype;
int sizes[2] = {6,6}; /* size of global array */
int subsizes[2] = {3,3}; /* size of sub-region */
int starts[2] = {0,0}; /* let's say we're looking at region "0",
which begins at index [0,0] */
MPI_Type_create_subarray(2, sizes, subsizes, starts, MPI_ORDER_C, MPI_INT, &newtype);
MPI_Type_commit(&newtype);
我们还不能只对这些类型使用 MPI_Scatter()(甚至是 scatterv),因为这些类型的范围是 16 个整数;
【问题讨论】:
标签: c parallel-processing mpi