混合精度对数据驱动的森林火灾蔓延系统加速的影响
1. 引言
每年,森林火灾都会在全球范围内烧毁数千公顷的森林,给受灾地区的经济和人民带来巨大损失。因此,计算火灾蔓延模型成为了减轻野火影响的有用工具。但森林火灾预测误差部分源于模型所需输入数据的不确定性。近年来,人们开发了不同策略来减少这种输入数据不确定性的影响,其中一种是引入数据驱动的校准阶段,利用遗传算法(GA)根据火灾的实际演变调整输入参数。然而,这种校准策略计算量大且耗时。
大多数科学代码默认对所有浮点变量使用双精度,很多情况下,程序中的并非所有变量都需要双精度。不同研究表明,混合精度方法能为多种科学代码带来潜在好处,可在保证功能可接受影响的前提下,为计算和内存密集型算法实现显著加速。
本文提出一种直接的方法来审查双精度变量的必要性,以提高应用程序的整体性能,并将该方法应用于森林火灾蔓延模拟器的代码中。我们选用了FARSITE(Fire Area Simulator)作为森林火灾蔓延模拟器,它基于Rothermel模型,是广泛接受和验证的野火蔓延模拟器。我们重点关注定义FARSITE浮点数处理性能的主要算法,主要是火灾周长扩展和周长重建模块,这两个模块占总执行时间的67%(周长扩展占7%,周长重建占60%)。通过应用两阶段策略校准输入值,并执行GA进行数百次模拟(本文中为10代,每代128个个体),若能降低运行这些个体的复杂度,即使改善不明显,对所有代和最终预测也会有累积效果。为保证预测准确性,我们仅修改对火灾演变影响不大的变量的精度。
2. 混合精度方法
多数计算科学代码高估了模型所需的数值精度,导致模拟器使用了超过实际需要的精度。通过更合适地选择32位和64位浮点运算,一些科学
超级会员免费看
订阅专栏 解锁全文
746

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



