Augmented Arithmetic Operations Proposed for IEEE-754 2018

Algorithms for extending arithmetic precision through compensated summation or arithmetics like double-double rely on operations commonly called twoSum and twoProd-uct. The current draft of the IEEE 754 standard specifies these operations under the names augmentedAddition and augment-edMultiplication. These operations were included after three decades of experience because of a motivating new use: bitwise reproducible arithmetic. Standardizing the operations provides a hardware acceleration target that can provide at least a 33 % speed improvements in reproducible dot product, placing reproducible dot product almost within a factor of two of common dot product. This paper provides history and motivation for standardizing these operations. We also define the operations, explain the rationale for all the specific choices, and provide parameterized test cases for new boundary behaviors.

[1]  B. Viren,et al.  ASCR/HEP Exascale Requirements Review Report , 2016, 1603.09303.

[2]  Douglas M. Priest On properties of floating point arithmetics: numerical stability and the cost of accurate computations , 1992 .

[3]  Jack M. Wolfe Reducing truncation errors by programming , 1964, CACM.

[4]  William Kahan,et al.  Pracniques: further remarks on reducing truncation errors , 1965, CACM.

[5]  Philippe Langlois,et al.  Reproducible, Accurately Rounded and Efficient BLAS , 2016, Euro-Par Workshops.

[6]  David H. Bailey,et al.  High-precision floating-point arithmetic in scientific computation , 2004, Computing in Science & Engineering.

[7]  Stef Graillat,et al.  On the Robustness of the 2Sum and Fast2Sum Algorithms , 2017, ACM Trans. Math. Softw..

[8]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..

[9]  David Defour,et al.  ExBLAS: Reproducible and Accurate BLAS Library , 2015 .

[10]  Sigal Asaf,et al.  FPgen - a test generation framework for datapath floating-point verification , 2003, Eighth IEEE International High-Level Design Validation and Test Workshop.

[11]  Siegfried M. Rump,et al.  Fast high precision summation , 2010 .

[12]  James Demmel,et al.  Error bounds from extra-precise iterative refinement , 2006, TOMS.

[13]  Richard W. Vuduc,et al.  Wanted: Floating-Point Add Round-off Error instruction , 2016, ArXiv.

[14]  Peter Ahrens,et al.  Efficient Reproducible Floating Point Summation and BLAS , 2015 .

[15]  Jean-Michel Muller,et al.  Handbook of Floating-Point Arithmetic (2nd Ed.) , 2018 .

[16]  Krste Asanovic,et al.  A Hardware Accelerator for Computing an Exact Dot Product , 2017, 2017 IEEE 24th Symposium on Computer Arithmetic (ARITH).

[17]  Xiaoye S. Li,et al.  ARPREC: An arbitrary precision computation package , 2002 .

[18]  James Demmel,et al.  Numerical Reproducibility and Accuracy at ExaScale , 2013, 2013 IEEE 21st Symposium on Computer Arithmetic.

[19]  Siegfried M. Rump,et al.  Accurate Sum and Dot Product , 2005, SIAM J. Sci. Comput..

[20]  Torsten Hoefler,et al.  Designing Bit-Reproducible Portable High-Performance Applications , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[21]  Jack J. Dongarra,et al.  Mixed-Precision Cholesky QR Factorization and Its Case Studies on Multicore CPU with Multiple GPUs , 2015, SIAM J. Sci. Comput..

[22]  Siegfried M. Rump,et al.  Ultimately Fast Accurate Summation , 2009, SIAM J. Sci. Comput..

[23]  Christopher Neal Hinds,et al.  High-Precision Anchored Accumulators for Reproducible Floating-Point Summation , 2017, 2017 IEEE 24th Symposium on Computer Arithmetic (ARITH).

[24]  Xiaoye S. Li,et al.  Algorithms for quad-double precision floating point arithmetic , 2000, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[25]  James Demmel,et al.  Design, implementation and testing of extended and mixed precision BLAS , 2000, TOMS.

[26]  Siegfried M. Rump,et al.  Generalization of error-free transformation for matrix multiplication and its application , 2013 .

[27]  Geng Yang,et al.  Importance of bitwise identical reproducibility in earth system modeling and status report , 2015 .

[28]  W. Miranker,et al.  The arithmetic of the digital computer: A new approach , 1986 .

[29]  Mei Han An,et al.  accuracy and stability of numerical algorithms , 1991 .

[30]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[31]  Chris H. Q. Ding,et al.  Using accurate arithmetics to improve numerical reproducibility and stability in parallel applications , 2000, ICS '00.

[32]  T. J. Dekker,et al.  A floating-point technique for extending the available precision , 1971 .

[33]  Ole Møller Quasi double-precision in floating point addition , 1965 .