Stabilizing Floating-Point Programs Using Provenance Analysis
Stabilizing Floating-Point Programs Using Provenance Analysis
复制标题
使用来源分析稳定浮点程序
DOI:
10.1007/978-3-319-52234-0_13
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Wahl, Thomas
中科院分区:
文献类型:
--
作者:
Gu, Yijia;Wahl, Thomas
Floating-point arithmetic is a loosely standardized approximation of real arithmetic available on many computers today. Architectural and compiler differences can lead to diverse calculations across platforms, for the same input. If left untreated, platform dependence, calledvolatilityin this paper, seriously interferes with result reproducibility and, ultimately, program portability. We present an approach tostabilizingfloating-point programs against volatility. Our approach, dubbedprovenance analysis, traces volatility observed in a given intermediate expressionEback to volatility in preceding statements, and quantifies individual contributions to the volatility inE. Statements contributing the most are then stabilized, by disambiguating the arithmetic using expression rewriting and control pragmas. The benefit oflocal(as opposed to program-wide) stabilization is that compilers are free to engage performance- or precision-enhancing optimizations across program fragments that do not destabilizeE. We have implemented our technique in a dynamic analysis tool that reports both volatility and provenance information. We demonstrate that local program stabilization often suffices to reduce platform dependence to an acceptable level.
DOI:
--
发表时间:
2011
期刊:
Certified Programs and Proofs
影响因子:
--
作者:
T. Nguyen;Claude Marché
通讯作者:
Claude Marché
DOI:
--
发表时间:
2011
期刊:
影响因子:
--
作者:
Nguyen Thi Mong Tuyen;C. Marché
通讯作者:
C. Marché
DOI:
--
发表时间:
2010
期刊:
影响因子:
--
作者:
Dr. Martyn J. Corden;David Kreitzer
通讯作者:
David Kreitzer