我们知道,不同的浮点数求和顺序可能导致不同的结果。

考虑使用MPI_SUM操作调用的MPI函数MPI_reduce。

#include <mpi.h>
int MPI_Reduce(const void *sendbuf, void *recvbuf, int count,
               MPI_Datatype datatype, MPI_Op op, int root,
               MPI_Comm comm)

MPI标准或MPI实现是否保证每次我们使用相同的输入和输出数据运行该函数时,结果都会相同?

那就是我在documentation中发现的



但这并不能使您对可重复性有所了解。

最佳答案

actual standard提供了一些进一步的见解:



因此,尽管不能保证,但我希望实现会遵循此建议并产生可重现的结果。

关于c++ - MPI归约运算中的求和顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45916160/

10-10 01:11