Finding Root Causes of Floating Point Error

被引:0
|
作者
Sanchez-Stern, Alex [1 ]
Panchekha, Pavel [2 ]
Lerner, Sorin [1 ]
Tatlock, Zachary [2 ]
机构
[1] Univ Calif San Diego, La Jolla, CA USA
[2] Univ Washington, Seattle, WA USA
关键词
floating point; debugging; dynamic analysis;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Floating-point arithmetic plays a central role in science, engineering, and finance by enabling developers to approximate real arithmetic. To address numerical issues in large floating-point applications, developers must identify root causes, which is difficult because floating-point errors are generally non-local, non-compositional, and non-uniform. This paper presents Herbgrind, a tool to help developers identify and address root causes in numerical code written in low-level languages like C/C++ and Fortran. Herbgrind dynamically tracks dependencies between operations and program outputs to avoid false positives and abstracts erroneous computations to simplified program fragments whose improvement can reduce output error. We perform several case studies applying Herbgrind to large, expert-crafted numerical programs and show that it scales to applications spanning hundreds of thousands of lines, correctly handling the low-level details of modern floating point hardware and mathematical libraries and tracking error across function boundaries and through the heap.
引用
下载
收藏
页码:256 / 269
页数:14
相关论文
共 50 条
  • [41] FRACTIONAL PRECISION - A NEW TOOL FOR FLOATING POINT ERROR ANALYSIS
    CASEY, JK
    COMMUNICATIONS OF THE ACM, 1960, 3 (07) : 393 - 393
  • [42] Error estimation of floating-point summation and dot product
    Siegfried M. Rump
    BIT Numerical Mathematics, 2012, 52 : 201 - 220
  • [43] SOME A POSTERIORI ERROR BOUNDS IN FLOATING-POINT COMPUTATIONS
    TSAO, NK
    JOURNAL OF THE ACM, 1974, 21 (01) : 6 - 17
  • [44] An Error Analysis Model for Floating-Point DFT Algorithms
    Reyes-Rodriguez, Violeta
    Jimenez, Manuel
    Rodriguez, Domingo
    2018 IEEE 61ST INTERNATIONAL MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS (MWSCAS), 2018, : 532 - 535
  • [45] Novel architecture for floating point accumulator with cancelation error detection
    Jamro, E.
    Dabrowska-Boruch, A.
    Russek, P.
    Wielgosz, M.
    Wiatr, K.
    BULLETIN OF THE POLISH ACADEMY OF SCIENCES-TECHNICAL SCIENCES, 2018, 66 (05) : 579 - 587
  • [46] Floating-point error analysis based on affine arithmetic
    Fang, CF
    Chen, TH
    Rutenbar, RA
    2003 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOL II, PROCEEDINGS: SPEECH II; INDUSTRY TECHNOLOGY TRACKS; DESIGN & IMPLEMENTATION OF SIGNAL PROCESSING SYSTEMS; NEURAL NETWORKS FOR SIGNAL PROCESSING, 2003, : 561 - 564
  • [47] ERROR ANALYSIS OF CERTAIN FLOATING-POINT ONLINE ALGORITHMS
    WATANUKI, O
    ERCEGOVAC, MD
    IEEE TRANSACTIONS ON COMPUTERS, 1983, 32 (04) : 352 - 358
  • [48] ERROR ANALYSIS OF ZFP COMPRESSION FOR FLOATING-POINT DATA
    Diffenderfer, James
    Fox, Alyson L.
    Hittinger, Jeffrey A.
    Sanders, Geoffrey
    Lindstrom, Peter G.
    SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2019, 41 (03): : A1867 - A1898
  • [49] Scalable yet Rigorous Floating-Point Error Analysis
    Das, Arnab
    Briggs, Ian
    Gopalakrishnan, Ganesh
    Krishnamoorthy, Sriram
    Panchekha, Pavel
    PROCEEDINGS OF SC20: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC20), 2020,
  • [50] Sharp error bounds for complex floating-point inversion
    Claude-Pierre Jeannerod
    Nicolas Louvet
    Jean-Michel Muller
    Antoine Plet
    Numerical Algorithms, 2016, 73 : 735 - 760