MPI_REDUCE动态计算的数组

MPI_REDUCE a dynamically computed array

本文关键字:数组 计算 动态 REDUCE MPI      更新时间:2023-10-16

我正在尝试使用 C(或 C++)中的MPI_REDUCE来查找数组中的最小值(和索引)。我把它适用于常规数组,但现在我想切换到动态计算值的数组。即 arr[n] 的值是通过调用 fun(n) 来计算的。由于内存问题,我无法计算所有值将它们放在一个规则的数组中。

我怎样才能做到这一点?

提前感谢,

您需要使用 MPI_Op_create() 创建自定义 MPI 操作:在您的情况下,此操作将比较通过对数组的每个元素调用 fun() 获得的值,并选择最小值。然后,可以在 MPI_Reduce() 的 Op 参数中使用此自定义操作。