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.
Similar content being viewed by others
References
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)
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
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)
IEEE Floating-Point Arithmetic Standard 754 (2008)
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/
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
Kulisch U (1976) Grundlagen des Numerischen Rechnens—Mathematische Begründung der Rechnerarithmetik. Reihe Informatik, Band 19, Bibliographisches Institut, Mannheim/Wien/Zürich
Kulisch U (2008) Computer arithmetic and validity—theory, implementation, and applications. de Gruyter, Berlin
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
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
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
Rump SM (1980) Kleine Fehlerschranken bei Matrixproblemen. Dissertation, Universität Karlsruhe
Shiriaev D (1993) Fast automatic differentiation for vector processors and reduction of the spatial complexity in a source translation environment. Dissertation, Universität Kalrsuhe
The IFIP WG—IEEE 754R letter, dated September 4 (2007)
The IFIP WG—IEEE P1788 letter, dated September 9 (2009)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-010-0131-y
Keywords
- Computer arithmetic
- Arithmetic standards
- Exact dot product
- Floating-point arithmetic
- Scientific computing