Fine-grained floating-point precision analysis

Fine-grained floating-point precision analysis
复制标题

细粒度浮点精度分析

DOI:
10.1177/1094342016652462
复制
发表时间:
2018
期刊:
The International Journal of High Performance Computing Applications
影响因子:
--
通讯作者:
J. Hollingsworth
J. Hollingsworth
中科院分区:
--
文献类型:
--
作者:
Michael O. Lam;J. Hollingsworth

文献摘要

参考文献

被引文献

相似文献

浮点计算在高性能科学计算中普遍存在,但四舍五入误差会影响扩展计算的结果,特别是在大规模计算中。在本文中,我们提出了新的技术,使用二进制插装和修改来进行细粒度的浮点精度分析,模拟任何低于或等于原始程序精度的级别。与以前的混合精度分析相比,这些技术的开销平均降低了40%-70%,并提供了对程序敏感性的更细粒度的洞察。我们还提出了一种新的基于直方图的程序浮点精度敏感度的可视化方法,以及一种增量搜索技术,它允许开发人员逐步权衡分析时间以换取细节,包括从他们停止的地方重新开始分析的能力。我们介绍了几个案例研究和实验的结果,这些结果表明了这些技术的有效性。使用我们的工具及其新颖的可视化,应用程序开发人员可以更快地针对特定数据集确定他们的应用程序是否可以使用更少的双精度变量运行,从而节省时间和内存空间。
Floating-point computation is ubiquitous in high-performance scientific computing, but rounding error can compromise the results of extended calculations, especially at large scales. In this paper, we present new techniques that use binary instrumentation and modification to do fine-grained floating-point precision analysis, simulating any level of precision less than or equal to the precision of the original program. These techniques have an average of 40–70% lower overhead and provide more fine-grained insights into a program’s sensitivity than previous mixed-precision analyses. We also present a novel histogram-based visualization of a program’s floating-point precision sensitivity, as well as an incremental search technique that allows developers to incrementally trade off analysis time for detail, including the ability to restart analyses from where they left off. We present results from several case studies and experiments that show the efficacy of these techniques. Using our tool and its novel visualization, application developers can more quickly determine for specific data sets whether their application could be run using fewer double precision variables, saving both time and memory space.
DOI: 10.1177/1094342010391989
发表时间: 2011-02-01
影响因子: 3.1
作者:
Dongarra, Jack;Beckman, Pete;Yelick, Kathy
通讯作者: Yelick, Kathy