19、并行数值方法精度、收敛性和可重复性的高效求和算法

并行数值方法精度、收敛性和可重复性的高效求和算法

如今,并行计算在工程和科学等多个应用领域无处不在。这些计算依赖于IEEE754标准规定的浮点运算。在这种情况下,计算中最基础的操作之一就是一系列数字的求和。然而,在浮点运算中,这种求和容易产生许多数值误差。为了解决这个问题,研究人员提出了一种新的并行算法,用于对一系列浮点数进行求和。该算法能够轻松随着处理器数量的增加而扩展,其核心思路是先对具有相同指数的数字进行相加。

1. 引言

科学计算严重依赖于IEEE754标准定义的浮点运算,因此容易受到舍入误差的影响,而且随着并行性的增加,这个问题往往会更加严重。在浮点计算中,除了舍入误差外,计算顺序也会影响结果的准确性。

例如,在IEEE754单精度(Binary32)下计算三个值x、y和z的和,其中x = 10⁹,y = -10⁹,z = 10⁻⁹:
- ((x + y) + z) = ((10⁹ - 10⁹) + 10⁻⁹) = 10⁻⁹
- (x + (y + z)) = (10⁹ + (-10⁹ + 10⁻⁹)) = 0

这两个等式表明,对于相同的数学表达式(三个操作数的和),不同的计算顺序会产生不同的结果。实际上,文献中存在许多求和算法,一些基于补偿求和方法,使用或不使用无误差变换来计算每次累加引入的误差;另一些则通过操作浮点数的指数和/或尾数,在开始计算前对数据进行拆分。

研究人员提出的新算法仅在工作精度内进行计算,只需要访问值的指数。该算法的复杂度与元素数量呈线性关系,与朴素求和算法相同。本文的主要贡献在于展示该算法通过提高数值精度,同时改善了并行执行时间、计算的可重复性和收敛性:
1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值