流体动力学模拟中的舍入误差建模
1. 工业与科学背景
高性能计算(HPC)行业正广泛应用于众多科学领域,如生物学、分子动力学、气象学、天体物理学和空气动力学等。为适应理论、材料变化以及新的监管和商业需求,HPC行业需不断发展。HPC模拟代码的常见需求也在不断增加,包括提高速度、鲁棒性、准确性、可维护性、能源效率、在异构资源(如GPU或FPGA类型加速器)上的可移植性,以及对结果不确定性的测量。
在当前环境下,模拟工作既要提升和保证结果质量,又要依赖不断更新的计算资源(如HPC、GP - GPU)以及并行计算(如MPI、多线程、向量化),这些技术的性能逐年提升。为利用百亿亿次计算(Exascale)带来的可能性,常见策略是依靠成熟的模型和方案,并增大研究问题的规模,如网格大小、粒子数量、元素数量等。然而,这种提高精度的策略存在矛盾,因为有限精度计算会引入误差。随着模拟问题规模的增大,操作数量增多,结果反而会因舍入误差而变差,与预期效果相悖。因此,为保证结果质量,需要衡量添加信息带来的结果改善与浮点运算舍入误差导致的结果退化之间的最佳平衡点,即二进制64位(binary64)是否足以满足百亿亿次计算的需求。
常见的理论工具,如区间算术、泰勒级数或概率方法,无法为该问题提供令人满意的答案。由于模拟中的操作数量庞大且程序复杂,这些方法得到的误差边界过大,缺乏实用性。因此,新的方法应运而生,形式证明的最新进展使得能够为波动方程的有限差分方案和龙格 - 库塔方法确定较窄的理论误差边界,但对于更复杂问题的模拟,经验方法在检测数值结果中舍入误差的实际影响方面仍然不可或缺。
2. 数值误差模型
2.1 浮点运算误差的测量
我们关注
超级会员免费看
订阅专栏 解锁全文
2622

被折叠的 条评论
为什么被折叠?



