0
我正在尝试为2D子矩阵创建数据类型并使用MPI对其进行处理。我迄今发现的是this问题。对它的回答完全覆盖了我的问题。我唯一无法理解的是如何计算子数组数据类型的范围。任何解释都会很有帮助。MPI中派生数据类型的范围
这里是代码和答案复制到这个问题的声明:
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个整数的范围;