Software estimates rounding errors to improve finite element computations
Running error bounds in finite element kernels
Mathematical Software
Summary
Computers sometimes make tiny mistakes when they do complex math that can add up and cause big errors in engineering simulations. This paper presents a software tool that watches these small mistakes as calculations happen and estimates the size of the errors. The system works automatically and helps spot problems that might make results unreliable. The authors show it can detect when calculations lose accuracy or when computer quirks cause trouble in examples like materials bending or heat flow simulations.
What this means in practice
- •For embedded system engineers: Estimate and control numeric errors in low-precision computations on resource-limited devices to avoid incorrect simulation outcomes.
- •For computational mechanics developers: Detect and debug sources of numerical instability or loss of accuracy during kernel assembly for partial differential equations.
Authors
Michal Habera, Paul T. Kühner, Matteo Croci, Andreas Zilian
Abstract
Rounding errors in finite element computations can lead to a complete loss of accuracy, stalled convergence, and incorrect results. Moreover, the effects of rounding errors accumulated within automatically generated and compiled kernels are difficult to analyze a priori. We present the first software framework for automated rounding error estimation within finite element kernels. The proposed methodology is based on an a posteriori technique called Running Error Analysis (REA), where a forward error estimate is automatically computed concurrently with the value. An open-source implementation is provided for the FEniCS Form Compiler (FFCx), based on a C++ backend for generating type-generic templated kernels over a custom arithmetic type that tracks both the value and its error estimate. We demonstrate REA on two examples. First, we use it to detect catastrophic cancellation in the assembly of a Neo-Hooke hyperelastic model in the small deformation regime. A series expansion circumvents the cancellation problem and the computed error estimates show this. Second, we study the assembly of the Laplace operator on a near-degenerate mesh. We demonstrate that our REA implementation typically incurs only 2-4x performance overhead. Applications of this work include robust reduced-precision computations in embedded systems, numerical debugging of new, possibly ill-conditioned or unstable PDE formulations, and guiding the design of mixed-precision kernels.