我试图分析如何使用减少(并行)来添加大量浮点数和精确丢失。与串行添加相比,绝对减少将有助于获得更高的精度。如果您能指导我一些详细的资料或为此分析提供一些见解,我将非常感激。感谢。
答案 0 :(得分:1)
每个原始浮点运算都会出现舍入误差;如果结果是x,那么对于一些相当小的常数c>,舍入误差是< = c * abs(x)。 0.
如果添加1000个数字,则需要添加999个数字。每次添加都有结果和舍入误差。当结果很小时,舍入误差很小。因此,您需要调整相加的顺序,以便结果的平均绝对值尽可能小。二叉树是一种方法。对值进行排序,然后添加最小的两个数字并将结果放回到排序列表中也是非常合理的。两种方法都保持平均结果较小,因此保持较小的舍入误差。