This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Validated Roundings of Dot Products by Sticky Accumulation
May 1997 (vol. 46 no. 5)
pp. 623-629

Abstract—The dot product operation is very prevalent in scientific computation and has therefore been incorporated as a primitive operation in some languages. The implementation of the dot product operation by a sequence of IEEE standard multiplications and additions does not prevent a substantial accumulation of the round-off errors or warn the user about a catastrophic cancellation. We present the design of a double precision dot product operation employing sticky accumulation, where the final rounded result is validated by raising a new exception flag if the result incurred catastrophic cancellation. Sticky accumulation can be implemented in a pipeline or parallel environment to sustain double precision with an extended control of the error. Our design allows that, in the absence of catastrophic cancellation, one ulp accuracy is guaranteed.

[1] G. Bohlender, “What Do We Need Beyond IEEE Arithmetic?” Computer Arithmetic and Self-Validating Numerical Methods, C. Ullrich, ed., pp. 1-32, Boston: Academic Press, 1990.
[2] P.R. Cappello and W.L. Miranker, "Systolic Super Summation," IEEE Trans. Computers, vol. 37, no. 6, pp. 657-677, June 1988.
[3] R. Kirchner and U.W. Kulisch, "Arithmetic for Vector Processors," Proc. Eighth Symp. Computer Arithmetic, M.J. Irwin and R. Stafanelli, eds., pp. 256-269. IEEE CS Press, 1987.
[4] A. Knofel, “Fast Hardware Units for the Computation of Accurate Dot Products,” Proc. 10th Symp. Computer Arithmetic, pp. 70-75, 1991.
[5] M. Muller,C. Rub, and W. Rulling,"Exact Accumulation of Floating-Point Numbers," Proc. 10th IEEE Symp. Computer Arithmetic, pp. 64-69, June 1991.
[6] M. Daumas and D.W. Matula, "Rounding of Floating Point Intervals," Interval Computations, no. 4, pp. 28-45, 1994.
[7] D. Stevenson et al., "A Proposed Standard for Binary Floating Point Arithmetic," Computer, vol. 14, no. 3, pp. 51-62, Mar. 1981.
[8] J.T. Coonen, "Specification for a Proposed Standard for Floating Point Arithmetic," Memorandum ERL M78/72, Univ. of California, Berkeley, 1978.
[9] W.E. Ferguson and T. Brightman, "Accurate and Monotone Approximations of Some Transcendental Functions," Proc. 10th Symp. Computer Arithmetic, pp. 237-244, 1991.
[10] M. Daumas, J.-M. Muller, and A. Tisserand, "Theoretical Support for Standardized Elementary Functions," Computational Eng. in Systems Applications, IMACS Multiconference,Lille, France, 1996.
[11] T.J. Dekker, "A Floating Point Technique for Extending the Available Precision," Numerische Mathematik, vol. 18, no. 3, pp. 224-242, 1971.
[12] U.W. Kulisch, "An Axiomatic Approach to Rounded Computations," Numerische Mathematik, vol. 18, no. 1, pp. 1-17, 1971.
[13] M. Daumas and D.W. Matula, "Design of a Fast Validated Dot Product Operation," Proc. 11th Symp. Computer Arithmetic, E. Swartzlander, M.J. Irwin, and G. Jullien, eds., pp. 62-69,Windsor, Ontario, Canada, IEEE CS Press, 1993.
[14] W. Kahan, "Further Remarks on Reducing Truncation Errors," Comm. ACM, vol. 8, no. 1, p. 40, 1965.
[15] S.F. Anderson, J.G. Earle, R.E. Goldschmidt, and D.M. Powers, "The IBM System/360 Model 91: Floating Point Execution Unit," IBM J. Research and Development, vol. 11, pp. 34-53, 1967.
[16] J.B. Gosling, "Design of Large High-Speed Floating-Point Arithmetic Units," IEE Proc., no. 118, pp. 493-498, 1971.
[17] J. Fandrianto and B.Y. Woo, "VLSI Floating-Point Processors," Proc. Seventh Symp. Computer Arithmetic, pp. 93-100,Urbana, Ill. IEEE CS Press, 1985.
[18] R. Sites, Alpha Architecture Reference Manual. Digital Press, 1992.

Citation:
Marc Daumas, David W. Matula, "Validated Roundings of Dot Products by Sticky Accumulation," IEEE Transactions on Computers, vol. 46, no. 5, pp. 623-629, May 1997, doi:10.1109/12.589241
Usage of this product signifies your acceptance of the Terms of Use.