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 条
  • [21] Tight floating point error bounds for polynomial evaluation
    Sinclair, R
    NUMERICAL METHODS AND ERROR BOUNDS, 1996, 89 : 234 - 240
  • [22] Error bounds on complex floating-point multiplication
    Brent, Richard
    Percival, Colin
    Zimmermann, Paul
    MATHEMATICS OF COMPUTATION, 2007, 76 (259) : 1469 - 1481
  • [23] Automatic forward error analysis for floating point algorithms
    Wissenschaftliches Rechnen/S., Bergische Univ. GH Wuppertal, Gaußstr. 20, D-42097 Wuppertal, Germany
    Reliable Computing, 2001, 7 (04) : 321 - 340
  • [24] A hardware error estimate for floating-point computations
    Lang, Tomas
    Bruguera, Javier D.
    ADVANCED SIGNAL PROCESSING ALGORITHMS, ARCHITECTURES, AND IMPLEMENTATIONS XVIII, 2008, 7074
  • [25] Reduction and bounding of the rounding error in floating point arithmetic
    Langlois, P
    Nativel, F
    COMPTES RENDUS DE L ACADEMIE DES SCIENCES SERIE I-MATHEMATIQUE, 1998, 327 (08): : 781 - 786
  • [26] Error bounds for floating-point polynomial interpolators
    Paliouras, V
    Karagianni, K
    Stouraitis, T
    ELECTRONICS LETTERS, 1999, 35 (03) : 195 - 197
  • [27] ON ROUNDOFF ERROR DISTRIBUTIONS IN FLOATING POINT AND LOGARITHMIC ARITHMETIC
    BARLOW, JL
    BAREISS, EH
    COMPUTING, 1985, 34 (04) : 325 - 347
  • [28] Soft Error Propagation in Floating-Point Programs
    Li, Sha
    Li, Xiaoming
    2010 IEEE 29TH INTERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE (IPCCC), 2010, : 239 - 246
  • [29] FLOATING-POINT ERROR PROPAGATION IN ITERATIVE METHODS
    ALT, R
    MATHEMATICS AND COMPUTERS IN SIMULATION, 1988, 30 (06) : 505 - 517
  • [30] SIMPLIFIED FLOATING-POINT DIVISION AND SQUARE ROOT
    Viitanen, Timo
    Jaaskelainen, Pekka
    Esko, Otto
    Takala, Jarmo
    2013 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), 2013, : 2707 - 2711