基于多类型计算重写的浮点表达式精度优化方法

TP311; 表达式重写是精度优化领域的新兴方法,其核心思想是在不改变表达式精度类型的前提下,将其变换为语义上等价的表达式以尝试提升精度.然而,面对庞大的变换规则和变换空间,如何选取合适的变换策略成为了重写方法的问题所在.针对上述问题,提出了一个基于多类型计算重写的浮点表达式精度优化方法,支持包括函数计算、四则运算的表达式,并实现了表达式重写工具exprAuto.区别于其他精度优化工具侧重于对子表达式的替换,exprAuto更注重对表达式运算顺序的变换.ex-prAuto在对表达式化简和数学变换后,通过多项式变换获取不同的计算顺序,并尝试减少运算次数以提升精度,最终生成一个包含不同计算顺序的等...

Full description

Saved in:
Bibliographic Details
Published in:计算机科学 Vol. 51; no. 4; pp. 86 - 94
Main Authors: 郝江伟, 杨鸿儒, 夏媛媛, 刘毅, 许瑾晨, 庞建民
Format: Journal Article
Language:Chinese
Published: 信息工程大学网络空间安全学院 郑州 450001 15.04.2024
数学工程与先进计算国家重点实验室 江苏无锡 214125%中国科学院软件研究所天基综合信息系统重点实验室 北京 100190
Subjects:
ISSN:1002-137X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:TP311; 表达式重写是精度优化领域的新兴方法,其核心思想是在不改变表达式精度类型的前提下,将其变换为语义上等价的表达式以尝试提升精度.然而,面对庞大的变换规则和变换空间,如何选取合适的变换策略成为了重写方法的问题所在.针对上述问题,提出了一个基于多类型计算重写的浮点表达式精度优化方法,支持包括函数计算、四则运算的表达式,并实现了表达式重写工具exprAuto.区别于其他精度优化工具侧重于对子表达式的替换,exprAuto更注重对表达式运算顺序的变换.ex-prAuto在对表达式化简和数学变换后,通过多项式变换获取不同的计算顺序,并尝试减少运算次数以提升精度,最终生成一个包含不同计算顺序的等价表达式集合,通过排序筛选和误差检测从中选出最终的精度优化结果.文中选取41个FPBench标准集中的表达式和18个常见数学函数的近似多项式作为测试用例,在经exprAuto优化后,所提方法相比原式最大误差降低了45.92%,平均误差降低了 34.98%;针对其中的18个近似多项式,相比原式最大误差降低了 58.35%,平均误差降低了43.73%.实验结果表明,exprAuto可以有效提升表达式尤其是多项式的精度.
ISSN:1002-137X
DOI:10.11896/jsjkx.221200072