skip to main content
article

The science of deriving dense linear algebra algorithms

Published:01 March 2005Publication History
Skip Abstract Section

Abstract

In this article we present a systematic approach to the derivation of families of high-performance algorithms for a large set of frequently encountered dense linear algebra operations. As part of the derivation a constructive proof of the correctness of the algorithm is generated. The article is structured so that it can be used as a tutorial for novices. However, the method has been shown to yield new high-performance algorithms for well-studied linear algebra operations and should also be of interest to those who wish to produce best-in-class high-performance codes.

References

  1. Alpatov, P., Baker, G., Edwards, C., Gunnels, J., Morrow, G., Overfelt, J., van de Geijn, R., and Wu, Y.-J. J. 1997. PLAPACK: Parallel linear algebra package---design overview. In Proceedings of SC97. Google ScholarGoogle Scholar
  2. Bientinesi, P., Gunnels, J. A., Gustavson, F. G., Henry, G. M., Myers, M. E., Quintana-Orti, E. S., and van de Geijn, R. A. 2002. The science of programming high-performance linear algebra libraries. In Proceedings of Performance Optimization for High-Level Languages and Libraries (POHLL-02). To appear.Google ScholarGoogle Scholar
  3. Bientinesi, P. and van de Geijn, R. A. 2002. Developing linear algebra algorithms: Class projects Spring 2002. Tech. Rep. CS-TR-02, Department of Computer Sciences, The University of Texas at Austin. June. http://www.cs.utexas.edu/users/flame/pubs/.Google ScholarGoogle Scholar
  4. Dijkstra, E. W. 1968. A constructive approach to the problem of program correctness. BIT 8, 174--186.Google ScholarGoogle Scholar
  5. Dijkstra, E. W. 1976. A Discipline of Programming. Prentice-Hall. Google ScholarGoogle Scholar
  6. Dongarra, J. J., Du Croz, J., Hammarling, S., and Duff, I. 1990. A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Soft. 16, 1 (March), 1--17. Google ScholarGoogle Scholar
  7. Dongarra, J. J., Du Croz, J., Hammarling, S., and Hanson, R. J. 1988. An extended set of FORTRAN basic linear algebra subprograms. ACM Trans. Math. Soft. 14, 1 (March), 1--17. Google ScholarGoogle Scholar
  8. Ernst, M. D. 2000. Dynamically discovering likely program invariants. Ph.D. thesis, University of Washington Department of Computer Science and Engineering. Google ScholarGoogle Scholar
  9. Ernst, M. D., Czeisler, A., Griswold, W. G., and Notkin, D. 2000. Quickly detecting relevant program invariants. In Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000). 449--458. Google ScholarGoogle Scholar
  10. Floyd, R. W. 1967. Assigning meanings to programs. In Symposium on Applied Mathematics, J. T. Schwartz, Ed. Vol. 19. American Mathematical Society, 19--32.Google ScholarGoogle Scholar
  11. Gries, D. 1981. The Science of Programming. Springer-Verlag. Google ScholarGoogle Scholar
  12. Gries, D. and Schneider, F. B. 1992. A Logical Approach to Discrete Math. Texts and Monographs in Computer Science. Springer-Verlag. Google ScholarGoogle Scholar
  13. Gunnels, J. A. 2001. A systematic approach to the design and analysis of parallel dense linear algebra algorithms. Ph.D. thesis, Department of Computer Sciences, The University of Texas. Google ScholarGoogle Scholar
  14. Gunnels, J. A., Gustavson, F. G., Henry, G. M., and van de Geijn, R. A. 2001. FLAME: Formal linear algebra methods environment. ACM Trans. Math. Soft. 27, 4 (December), 422--455. Google ScholarGoogle Scholar
  15. Gunnels, J. A., Henry, G. M., and van de Geijn, R. A. 2001. A family of high-performance matrix multiplication algorithms. In Computational Science---ICCS 2001, Part I, V. N. Alexandrov, J. J. Dongarra, B. A. Juliano, R. S. Renner, and C. K. Tan, Eds. Lecture Notes in Computer Science 2073. Springer-Verlag, 51--60. Google ScholarGoogle Scholar
  16. Gunnels, J. A. and van de Geijn, R. A. 2001a. Developing linear algebra algorithms: A collection of class projects. Tech. Rep. CS-TR-01-19, Department of Computer Sciences, The University of Texas at Austin. May. http://www.cs.utexas.edu/users/flame/. Google ScholarGoogle Scholar
  17. Gunnels, J. A. and van de Geijn, R. A. 2001b. Formal methods for high-performance linear algebra libraries. In The Architecture of Scientific Software, R. F. Boisvert and P. T. P. Tang, Eds. Kluwer Academic Press, 193--210. Google ScholarGoogle Scholar
  18. Higham, N. J. 2002. Accuracy and Stability of Numerical Algorithms, Second ed. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. Google ScholarGoogle Scholar
  19. Hoare, C. A. R. 1969. An axiomatic basis for computer programming. Comm. ACM 12, 12 (October), 576--580. Google ScholarGoogle Scholar
  20. Kaufman, M. and Moore, J. S. 1997. An industrial strength theorem prover for a logic based on common lisp. IEEE Trans. Soft. Eng. 23, 4 (April), 203--213. Google ScholarGoogle Scholar
  21. Kaufmann, M., Manolios, P., and Moore, J. S., Eds. 2000. Computer-Aided Reasoning: ACL2 Case Studies. Kluwer Academic Publishers. Google ScholarGoogle Scholar
  22. Lawson, C. L., Hanson, R. J., Kincaid, D. R., and Krogh, F. T. 1979. Basic linear algebra subprograms for Fortran usage. ACM Trans. Math. Soft. 5, 3 (Sept.), 308--323. Google ScholarGoogle Scholar
  23. Misra, J. 1976. Some aspects of the verification of loop computations. IEEE Trans. Soft. Eng. SE-4, 6 (Nov.).Google ScholarGoogle Scholar
  24. Moler, C., Little, J., and Bangert, S. 1987. Pro-Matlab, User's Guide. The Mathworks, Inc.Google ScholarGoogle Scholar
  25. Quintana, E. S., Quintana, G., Sun, X., and van de Geijn, R. 2001. A note on parallel matrix inversion. SIAM J. Sci. Comput. 22, 5, 1762--1771. Google ScholarGoogle Scholar
  26. Quintana-Ortí, E. S. and van de Geijn, R. A. 2003. Formal derivation of algorithms for the triangular Sylvester equation. ACM Trans. Math. Soft. 29, 2 (July), 218--243. Google ScholarGoogle Scholar
  27. van de Geijn, R. A. 1997. Using PLAPACK: Parallel Linear Algebra Package. The MIT Press. Google ScholarGoogle Scholar
  28. Whaley, R. C. and Dongarra, J. J. 1998. Automatically tuned linear algebra software. In Proceedings of SC'98. Google ScholarGoogle Scholar
  29. Wolfram, S. 1996. The Mathematica Book: 3rd Edition. Cambridge University Press. Google ScholarGoogle Scholar

Index Terms

  1. The science of deriving dense linear algebra algorithms

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader