Workshop:Correctness 2021: 5th International Workshop on Software Correctness for HPC Applications
Authors: David H. Bailey (Lawrence Berkeley National Laboratory (retired); University of California, Davis)
Abstract: The tension between ``correct and reproducible'' computing and ``high-performance'' computing is particularly acute in computational mathematics applications, some of which require very high numeric precision (hundreds or thousands of digits) to produce correct and reproducible results, resulting in very long run times. One solution is to employ a variable precision design, namely using ordinary single- or double-precision arithmetic as much as possible, and shifting to higher levels of precision only when necessary. But managing a large variable precision computation is a significant programming challenge.
This study presents results using a new arbitrary precision package and a new four-level variable precision application code to study a class of polynomials arising from the Poisson potential function of mathematical physics. The application employs four levels of precision: IEEE double, IEEE quad, medium precision (typically 100-1,000 digits) and full precision (typically 5,000 to 50,000 digits). Using this software, we have computed the minimal polynomials associated with the Poisson potential function, not just in the special case $x = 1/s$ and $y = 1/s$ (for integers $1 \leq s \leq 50$), as in an earlier study, but also for many instances of the broader class of rationals $x = p/s$ and $y = q/s$, for $1 \leq p,q < s/2 \leq 50$. In this paper, we present some initial results of these computations, and also present some lessons learned from using extreme variable precision in a computational mathematics application.