This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Faster Numerical Algorithms Via Exception Handling
August 1994 (vol. 43 no. 8)
pp. 983-992

An attractive paradigm for building fast numerical algorithms is the following: 1) try a fast but occasionally unstable algorithm, 2) test the accuracy of the computed answer, and 3) recompute the answer slowly and accurately in the unlikely event it is necessary. This is especially attractive on parallel machines where the fastest algorithms may be less stable than the best serial algorithms. Since unstable algorithms can overflow or cause other exceptions, exception handling is needed to implement this paradigm safely. To implement it efficiently, exception handling cannot be too slow. We illustrate this paradigm with numerical linear algebra algorithms from the LAPACK library.

[1] E. Anderson, "Robust triangular solves for use in condition estimation," Comput. Sci. Dep. Tech. Rep. CS-91-142, Univ. of Tennessee, Knoxville, 1991. (LAPACK Working Note #36).
[2] N. H. Madhavji, "The Prism model of changes," inProc. 13th Int. Conf. on Software Eng. Los Alamitos, CA: IEEE Computer Soc. Press, 1991, pp. 166-177.
[3] ANSI/IEEE, New York,IEEE Standard for Binary Floating Point Arithmetic, Std 754-1985 ed., 1985.
[4] ANSI/IEEE, New York.IEEE Standard for Raix Independent Floating Point Arithmetic, Std 854-1987 ed., 1987.
[5] J. Demmel, "Underflow and the reliability of numerical software,"SIAM J. Sci. Statist. Comput., vol. 5, no. 4, pp. 887-919, Dec. 1984.
[6] J. Demmel, "Specifications for robust parallel prefix operations,"Technical Report, Thinking Machines Corp., 1992.
[7] J. Demmel and X. Li, "Faster numerical algorithms via exception handling," inProc. 11th Symp. Comput. Arithmetic, M. J. Irwin, E. Swartzlander, and G. Jullien, Eds., Windsor, ON, Canada, June 29-July 2 1993. IEEE Computer Society Press, available as all.ps.Z via anonymous ftp from tr-ftp.cs.berkeley.edu, in directory pub/tech-reports/cs/csd-93-728; software is csd-93-728.shar.Z.
[8] I. S. Dhillon and J. W. Demmel, "A parallel algorithm for the symmetric tridiagonal eigenproblem and its implementation on the CM-5," in progress, 1993.
[9] J.J. Dongarra et al., "A Set of Level 3 Basic Linear Algebra Subprograms,"ACM Trans. Math. Software, Vol. 16, No. 1, 1990, pp. 1-17.
[10] J. Dongarra et al., "An Extended Set of Fortran Basic Linear Algebra Subroutines,"ACM Trans. Math. Software, Vol. 14, No. 1, Mar. 1988, pp. 1-17.
[11] R. L. Sites, Ed.,Alpha Architecture Reference Manual. Burlington, MA: Digital Press, 1992.
[12] G. H. Golub and C. F. Van Loan,Matrix Computations, 2nd ed. Baltimore, MD: Johns Hopkins Press, 1989.
[13] W. W. Hager, "Condition estimators,"SIAM J. Sci. Statist. Comput., vol. 5, pp. 311-316, 1984.
[14] N. J. Higham, "Algorithm 674: FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation,"ACM Trans. Math. Software, vol. 14, pp. 381-396, 1988.
[15] The Spare Architecture Manual, Version 8, Part 800-1399-12, Sun Microsystems, Inc., Mountain View, Calif., Dec. 1990.
[16] W. Kahan, "Accurate eigenvalues of symmetric tridiagonal matrix," Computer Sci. Dep., Tech. Rep. CS41, Stanford Univ., Stanford, CA, July 1966 (revised June 1968).
[17] G. Kane,MIPS RISC Architecture, Prentice-Hall, Englewood Cliffs, N.J., 1988.
[18] C. Lawson et al., "Basic Linear Algebra Subprograms for Fortran Usage,"ACM Trans. Math. Software, Vol. 5, No. 3, Sept. 1979, pp. 308-323.
[19] Thinking Machines Corporation,The Connection Machine CM-5 Technical Summary, Cambridge MA, Oct. 1991.

Index Terms:
linear algebra; parallel algorithms; digital arithmetic; exception handling; convergence of numerical methods; eigenvalues and eigenfunctions; exception handling; fast numerical algorithms; parallel machines; unstable algorithms; numerical linear algebra; LAPACK library; IEEE floating point arithmetic.
Citation:
J.W. Demmel, Xiaoye Li, "Faster Numerical Algorithms Via Exception Handling," IEEE Transactions on Computers, vol. 43, no. 8, pp. 983-992, Aug. 1994, doi:10.1109/12.295860
Usage of this product signifies your acceptance of the Terms of Use.