Table of Contents
Fetching ...

FlowFPX: Nimble Tools for Debugging Floating-Point Exceptions

Taylor Allred, Xinyi Li, Ashton Wiersdorf, Ben Greenman, Ganesh Gopalakrishnan

TL;DR

FlowFPX is presented, a toolkit for systematically debugging floating-point exceptions by recording their flow, coalescing exception contexts, and fuzzing in select locations, to help scientists discover when exceptions happen and track down their origin, smoothing the way to a reliable codebase.

Abstract

Reliable numerical computations are central to scientific computing, but the floating-point arithmetic that enables large-scale models is error-prone. Numeric exceptions are a common occurrence and can propagate through code, leading to flawed results. This paper presents FlowFPX, a toolkit for systematically debugging floating-point exceptions by recording their flow, coalescing exception contexts, and fuzzing in select locations. These tools help scientists discover when exceptions happen and track down their origin, smoothing the way to a reliable codebase.

FlowFPX: Nimble Tools for Debugging Floating-Point Exceptions

TL;DR

FlowFPX is presented, a toolkit for systematically debugging floating-point exceptions by recording their flow, coalescing exception contexts, and fuzzing in select locations, to help scientists discover when exceptions happen and track down their origin, smoothing the way to a reliable codebase.

Abstract

Reliable numerical computations are central to scientific computing, but the floating-point arithmetic that enables large-scale models is error-prone. Numeric exceptions are a common occurrence and can propagate through code, leading to flawed results. This paper presents FlowFPX, a toolkit for systematically debugging floating-point exceptions by recording their flow, coalescing exception contexts, and fuzzing in select locations. These tools help scientists discover when exceptions happen and track down their origin, smoothing the way to a reliable codebase.
Paper Structure (30 sections, 8 figures)

This paper contains 30 sections, 8 figures.

Figures (8)

  • Figure 1: Floats are spread across the real number line
  • Figure 2: Gen, Prop, Kill: Lifetime of an exceptional value
  • Figure 3: How to classify operations that see exceptions
  • Figure 4: From stack traces (left) to stack graph (right)
  • Figure 5: Raising the CFL number creates white gaps due to NaNs
  • ...and 3 more figures