Finding Root Causes of Floating Point Error with Herbgrind

05/29/2017
by   Alex Sanchez-Stern, et al.
0

Floating point arithmetic plays a central role in science, engineering, and finance by enabling developers to approximately compute with real numbers. To address numerical issues in large floating-point applications, developers must identify root causes, which is difficult because floating point errors are generally silent, non-local, and non-compositional. This paper presents Herbgrind, a tool to help developers identify and address root causes in typical numerical code written in low-level C/C++ and Fortran. Herbgrind tracks dependencies between operations and program outputs to avoid false positives, and abstracts erroneous computations to a simplified program fragment 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.

READ FULL TEXT
research
08/13/2018

Eliminating Unstable Tests in Floating-Point Programs

Round-off errors arising from the difference between real numbers and th...
research
03/23/2016

Debugging Machine Learning Tasks

Unlike traditional programs (such as operating systems or word processor...
research
05/17/2023

Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression Rewriting

In recent years, researchers have proposed a number of automated tools t...
research
04/09/2020

Efficient Reasoning About Stencil Programs Using Selective Direct Evaluation

We present FPDetect, a low overhead approach for detecting logical error...
research
04/09/2020

FPDetect: Efficient Reasoning About Stencil Programs Using Selective Direct Evaluation

We present FPDetect, a low overhead approach for detecting logical error...
research
11/14/2018

Multi-level analysis of compiler induced variability and performance tradeoffs

Floating-point arithmetic is the computational foundation of numerical s...
research
04/05/2023

Modeling still matters: a surprising instance of catastrophic floating point errors in mathematical biology and numerical methods for ODEs

We guide the reader on a journey through mathematical modeling and numer...

Please sign up or login with your details

Forgot password? Click here to reset