首页> 外文会议>IEEE International Symposium on Performance Analysis of Systems and Software >A Loop-Aware Autotuner for High-Precision Floating-Point Applications
【24h】

A Loop-Aware Autotuner for High-Precision Floating-Point Applications

机译:适用于高精度浮点应用的环路感知自动调谐器

获取原文

摘要

Many scientific applications (e.g., molecular dynamics, climate modeling and astrophysical simulations) rely on floating-point arithmetic. Due to its approximate nature, the use of floating-point arithmetic can lead to inaccuracy and reproducibility issues, which can be particularly significant for long running applications. Indeed, previous work has shown that 64- bit IEEE floating-point arithmetic can be insufficient for many algorithms and applications, such as ill-conditioned linear systems, large summations, long-time or large-scale physical simulations, and experimental mathematics applications. To overcome these issues, existing work has proposed high-precision floating-point libraries (e.g., the GNU multiple precision arithmetic library), but these libraries come at the cost of significant execution time. In this work, we propose an auto-tuner for applications requiring high-precision floating-point arithmetic to deliver a prescribed level of accuracy. Our auto-tuner uses compiler analysis to discriminate operations and variables that require high-precision from those that can be handled using standard IEEE 64-bit floating-point arithmetic, and it generates a mixed precision program that trades off performance and accuracy by selectively using different precisions for different variables and operations. In particular, our auto-tuner leverages loop and data dependences analysis to quickly identify precision-sensitive variables and operations and provide results that are robust to different input datasets. We test our auto-tuner on a mix of applications with different computational patterns.
机译:许多科学应用(例如分子动力学,气候模型和天体模拟)都依赖于浮点算法。由于其近似性质,使用浮点算术会导致不准确和可重复性问题,这对于长时间运行的应用程序尤其重要。确实,以前的工作表明,64位IEEE浮点算术对于许多算法和应用可能是不够的,例如病态线性系统,大量求和,长期或大规模物理模拟以及实验数学应用。为了克服这些问题,现有的工作提出了高精度浮点库(例如,GNU多精度算术库),但是这些库是以大量执行时间为代价的。在这项工作中,我们针对需要高精度浮点运算以提供规定精度的应用提出了一种自动调谐器。我们的自动调谐器使用编译器分析来将需要高精度的运算和变量与可以使用标准IEEE 64位浮点算法处理的运算和变量区分开,并生成一个混合精度程序,该程序可以通过有选择地使用来权衡性能和精度。不同变量和运算的精度不同。特别是,我们的自动调谐器利用循环和数据相关性分析来快速识别对精度敏感的变量和运算,并提供对不同输入数据集稳定的结果。我们在具有不同计算模式的混合应用程序中测试自动调谐器。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号