Skip to main content
Log in

Very fast and exact accumulation of products

  • Published:
Computing Aims and scope Submit manuscript

Abstract

The IFIP Working Group on Numerical Software and other scientists repeatedly requested that a future arithmetic standard should consider and specify an exact dot product (EDP) [The IFIP WG—IEEE 754R letter, dated September 4 (2007), The IFIP WG—IEEE P1788 letter, dated September 9 (2009)]. On 18 November 2009 the IEEE standards committee P1788 on interval arithmetic accepted a motion [Kulisch and Snyder (The exact dot product as basic tool for long interval arithmetic, passed on Nov 18, 2009 as official IEEE P1788 document)] for including the EDP into a future interval arithmetic standard. Actually the simplest and fastest way for computing a dot product is to compute it exactly. By pipelining, it can be computed in the time the processor needs to read the data, i.e., it comes with utmost speed. A hardware implementation of the EDP exceeds any approximate computation of the dot product in software by several orders of magnitude. By a sample illustration the paper informally specifies the implementation of the EDP on computers. While [Kulisch and Snyder (The exact dot product as basic tool for long interval arithmetic, passed on Nov 18, 2009 as official IEEE P1788 document)] defines what has to be provided, how to embed the EDP into the new standard IEEE 754, [IEEE Floating-Point Arithmetic Standard 754 (2008)] and how exceptions like NaN are to be dealt with, this article illustrates how the EDP can be implemented on computers. There is indeed no simpler way of accumulating a dot product. Any method that just computes an approximation also has to consider the relative values of the summands. This results in a more complicated method. The hardware needed for the EDP is comparable to that for a fast multiplier by an adder tree, accepted years ago and now standard technology in every modern processor. The EDP brings the same speedup for accumulations at comparable costs. In Numerical Analysis the dot product is ubiquitous. It is not merely a fundamental operation in all vector and matrix spaces. It is the EDP which makes residual correction effective. This has a direct and positive influence on all iterative solvers of systems of equations. The EDP is essential for fast long real and long interval arithmetic, as well as for assessing and managing uncertainty in computing. By operator overloading variable precision interval arithmetic is very easy to use. With it the result of every arithmetic expression can be guaranteed to a number of correct digits.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ACRITH-XSC (1990) IBM high accuracy arithmetic, extended scientific computation. Version 1, Release 1. IBM Deutschland GmbH (Schönaicher Strasse 220, D-71032 Böblingen)

  2. Blomquist F, Hofschuster W, Krämer W et al (2009) A modified staggered correction arithmetic with enhanced accuracy and very wide exponent range. In: Cuyt A (eds) Numerical validation in current hardware architectures, Lecture Notes in Computer Science LNCS, vol 5492. Springer, Berlin Heidelberg, pp 41–67

    Chapter  Google Scholar 

  3. IBM System/370 RPQ (1984) High Accuracy Arithmetic. SA 22-7093-0, IBM Deutschland GmbH (Department 3282, Schönaicher Strasse 220, D-71032 Böblingen)

  4. IEEE Floating-Point Arithmetic Standard 754 (2008)

  5. Klatte R, Kulisch U, Lawo C, Rauch M, Wiethoff A (1993) C–XSC, A C++ class library for extended scientific computing. Springer, Berlin. http://www.math.uni-wuppertal.de/~xsc/resp. http://www.xsc.de/

  6. Kulisch U (1975) Implementation and Formalization of Floating-Point Arithmetics IBM T. J. Watson-Research Center, Report Nr. RC 4608, 1–50, 1973. Invited talk at the Caratheodory Symposium, September 1973 in Athens, published in: The Greek Mathematical Society, C. Caratheodory Symposium, 328–369, 1973, and in Computing 14, 323–348

  7. Kulisch U (1976) Grundlagen des Numerischen Rechnens—Mathematische Begründung der Rechnerarithmetik. Reihe Informatik, Band 19, Bibliographisches Institut, Mannheim/Wien/Zürich

  8. Kulisch U (2008) Computer arithmetic and validity—theory, implementation, and applications. de Gruyter, Berlin

    MATH  Google Scholar 

  9. Kulisch U, Snyder V (2009) The exact dot product as basic tool for long interval arithmetic, passed on Nov 18, 2009 as official IEEE P1788 document

  10. Lohner R (1993) Interval arithmetic in staggered correction format. In: Adams E, Kulisch U (eds) Scientific computing with automatic result verification. Academic Press, New York, pp 301–321

    Chapter  Google Scholar 

  11. Oishi S, Tanabe K, Ogita T, Rump SM (2007) Convergence of Rump’s method for inverting arbitrarily ill-conditioned matrices. J Comput Appl Math 205: 533–544

    Article  MATH  MathSciNet  Google Scholar 

  12. Rump SM (1980) Kleine Fehlerschranken bei Matrixproblemen. Dissertation, Universität Karlsruhe

  13. Shiriaev D (1993) Fast automatic differentiation for vector processors and reduction of the spatial complexity in a source translation environment. Dissertation, Universität Kalrsuhe

  14. The IFIP WG—IEEE 754R letter, dated September 4 (2007)

  15. The IFIP WG—IEEE P1788 letter, dated September 9 (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ulrich Kulisch.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kulisch, U. Very fast and exact accumulation of products. Computing 91, 397–405 (2011). https://doi.org/10.1007/s00607-010-0131-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-010-0131-y

Keywords

Mathematics Subject Classification (2010)

Navigation