我试图在C(或c ++)中使用MPI_REDUCE来查找数组中的最小值(和索引)。我有这个工作常规数组,但现在我想切换到动态计算值的一个。即arr [n]的值是通过调用fun(n)计算的。由于内存问题,我无法计算所有值 把它们放在一个规则的阵列中。
我怎样才能做到这一点?
提前致谢,
答案 0 :(得分:2)
您需要使用MPI_Op_create()来创建自定义MPI操作:在您的情况下,此操作将比较通过在数组的每个元素上调用fun()获得的值,并选择最小值。然后,您可以在MPI_Reduce()的Op参数中使用此自定义操作。