Towards a Compiler for Reals

Author:

Darulova Eva1ORCID,Kuncak Viktor2

Affiliation:

1. Ecole Polytechnique Federale de Lausanne

2. Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland

Abstract

Numerical software, common in scientific computing or embedded systems, inevitably uses a finite-precision approximation of the real arithmetic in which most algorithms are designed. In many applications, the roundoff errors introduced by finite-precision arithmetic are not the only source of inaccuracy, and measurement and other input errors further increase the uncertainty of the computed results. Adequate tools are needed to help users select suitable data types and evaluate the provided accuracy, especially for safety-critical applications. We present a source-to-source compiler called Rosa that takes as input a real-valued program with error specifications and synthesizes code over an appropriate floating-point or fixed-point data type. The main challenge of such a compiler is a fully automated, sound, and yet accurate-enough numerical error estimation. We introduce a unified technique for bounding roundoff errors from floating-point and fixed-point arithmetic of various precisions. The technique can handle nonlinear arithmetic, determine closed-form symbolic invariants for unbounded loops, and quantify the effects of discontinuities on numerical errors. We evaluate Rosa on a number of benchmarks from scientific computing and embedded systems and, comparing it to the state of the art in automated error estimation, show that it presents an interesting tradeoff between accuracy and performance.

Funder

European Research Council (ERC) project “Implicit Programming”

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference49 articles.

1. Adolfo Anta Rupak Majumdar Indranil Saha and Paulo Tabuada. 2010. Automatic verification of control system implementations. In EMSOFT. 10.1145/1879021.1879024 Adolfo Anta Rupak Majumdar Indranil Saha and Paulo Tabuada. 2010. Automatic verification of control system implementations. In EMSOFT. 10.1145/1879021.1879024

2. Ali Ayad and Claude Marché. 2010. Multi-prover verification of floating-point programs. In IJCAR. 10.1007/978-3-642-14203-1_11 Ali Ayad and Claude Marché. 2010. Multi-prover verification of floating-point programs. In IJCAR. 10.1007/978-3-642-14203-1_11

3. David H. Bailey Yozo Hida Xiaoye S. Li and Brandon Thompson. 2013. C++/Fortran-90 double-double and quad-double package. Retrieved from http://crd-legacy.lbl.gov/∼dhbailey/mpdist/. David H. Bailey Yozo Hida Xiaoye S. Li and Brandon Thompson. 2013. C++/Fortran-90 double-double and quad-double package. Retrieved from http://crd-legacy.lbl.gov/∼dhbailey/mpdist/.

4. Florian Benz Andreas Hildebrandt and Sebastian Hack. 2012. A dynamic program analysis to find floating-point accuracy problems. In PLDI. 10.1145/2254064.2254118 Florian Benz Andreas Hildebrandt and Sebastian Hack. 2012. A dynamic program analysis to find floating-point accuracy problems. In PLDI. 10.1145/2254064.2254118

5. Bruno Blanchet Patrick Cousot Radhia Cousot Jérome Feret Laurent Mauborgne Antoine Miné David Monniaux and Xavier Rival. 2003. A static analyzer for large safety-critical software. In PLDI. 10.1145/781131.781153 Bruno Blanchet Patrick Cousot Radhia Cousot Jérome Feret Laurent Mauborgne Antoine Miné David Monniaux and Xavier Rival. 2003. A static analyzer for large safety-critical software. In PLDI. 10.1145/781131.781153

Cited by 63 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Numerical Fuzz: A Type System for Rounding Error Analysis;Proceedings of the ACM on Programming Languages;2024-06-20

2. Floating-Point TVPI Abstract Domain;Proceedings of the ACM on Programming Languages;2024-06-20

3. A Holistic Approach to Automatic Mixed-Precision Code Generation and Tuning for Affine Programs;Proceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming;2024-02-20

4. The Impact of Profiling Versus Static Analysis in Precision Tuning;IEEE Access;2024

5. Detecting Floating-Point Expression Errors Based Improved PSO Algorithm;IET Software;2023-10-23

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3