Skip to main content

The Design of Sparse Direct Solvers using Object-Oriented Techniques

  • Conference paper
Advances in Software Tools for Scientific Computing

Part of the book series: Lecture Notes in Computational Science and Engineering ((LNCSE,volume 10))

Abstract

We describe our experience in designing object-oriented software for sparse direct solvers. We discuss Spindle, a library of sparse matrix ordering codes and OBLIO a package that implements the factorization and triangular solution steps of a direct solver. We discuss the goals of our design: managing complexity, simplicity of interface, flexibility, extensibility, safety, and efficiency. High performance is obtained by carefully implementing the computationally intensive kernels and by making several tradeoffs to balance the conflicting demands of efficiency and good software design. Some of the missteps that we made in the course of this work are also described.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Amestoy, T. A. Davis, and I. S. Duff. An approximate minimum degree ordering algorithm. SIAM J. Matrix Anal. Appl. 17(4):886–905, 1996.

    Article  MathSciNet  MATH  Google Scholar 

  2. C. Ashcraft, R. G. Grimes, and J. G. Lewis. Accurate symmetric indefinite linear equation solvers. SIAM J. Matrix Anal. Appl. 20:513–561, 1999.

    Article  MathSciNet  Google Scholar 

  3. C. Ashcraft and J. W. H. Liu. SMOOTH: A software package for ordering sparse matricesNovember 1996. http://www.cs.yorku.ca/joseph/SMOOTH.html

  4. C. Ashcraft, D. Pierce, D. K. Wah, and J. Wu. The Reference Manual for SPOOLES, Release 2.2February 1999.

    Google Scholar 

  5. S. Balay, W. D. Gropp, L. C. McInnes, and B. F. Smith. Efficient management of parallelism in object-oriented numerical software libraries. In Modern Software Tools for Scientific Computing E. Arge, A. M. Bruaset, and H. P. Langtangen, (eds.), Birkhäuser, 1997.

    Google Scholar 

  6. A. M. Bruaset and H. P. Langtangen. Object-oriented design of preconditioned iterative methods in DIFFPACK. ACM Transactions on Mathematical Software 23:50–80, 1997.

    Article  MATH  Google Scholar 

  7. R. Boisvert, R. Pozo, K. Remington, R. Barrett, and J. Dongarra. Matrix Market: a web resource for test matrix collections. In Numerical Software: Assessment and Enhancement, R. Boisvert, (ed.), pages 125–137. Chapman and Hall, London, 1997.

    Google Scholar 

  8. F. Dobrian, G. Kumfert, and A. Pothen. Object-oriented design of a sparse symmetric solver. In Computing in Object-oriented Parallel Environments Lecture Notes in Computer Science 1505, D. Caromel et al (eds.), pp. 207–214, Springer Verlag, 1998.

    Chapter  Google Scholar 

  9. I. S. Duff, R. G. Grimes, and J. G. Lewis. Users’ Guide for the Harwell-Boeing Sparse Matrix Collection Oct 1992.

    Google Scholar 

  10. Diffpack homepage: http://www.nobjects.com/Diffpack

  11. I. S. Duff and J. K. Reid. The multifrontal solution of indefinite sparse symmetric linear equations. ACM Trans. on Math. Software 9(3):302–325, 1983.

    Article  MathSciNet  MATH  Google Scholar 

  12. I. S. Duff, A. Erisman, and J. K. Reid. Direct Methods for Sparse Matrices. Clarendon Press, Oxford, 1986.

    MATH  Google Scholar 

  13. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison Wesley Longman, 1995.

    Google Scholar 

  14. A. George and J. W. H. Liu. A fast implementation of the minimum degree algorithm using quotient graphs. ACM Trans. on Math. Software 6:337–358, 1980.

    Article  MathSciNet  MATH  Google Scholar 

  15. A. George and J. W. H. Liu. Computer Solution of Large, Sparse, Positive Definite Systems. Prentice Hall, 1981.

    Google Scholar 

  16. A. George and J. W. H. Liu. The evolution of the minimum degree algorithm. SIAM Rev. 31(1):1–19, March 1989.

    Article  MathSciNet  MATH  Google Scholar 

  17. A. George and J. W. H. Liu. An object-oriented approach to the design of a user interface for a sparse matrix package. Technical Report, Department of Computer Science, York University, Feb. 1997.

    Google Scholar 

  18. B. Hendrickson and R. Leland. The Chaco User’s Guide. Sandia National Laboratories, Albuquerque, NM 87815, Oct 1993.

    Google Scholar 

  19. G. Kumfert and A. Pothen. Two improved algorithms for envelope and wave-front reduction. BIT 37:559–590, 1997.

    Article  MathSciNet  MATH  Google Scholar 

  20. G. Kumfert and A. Pothen. An object-oriented collection of minimum degree algorithms: design, implementation, and experiences. In Computing in Object-oriented Parallel Environments Lecture Notes in Computer Science 1505, D. Caromel et al (eds.), pp. 95–106, Springer Verlag, 1998.

    Chapter  Google Scholar 

  21. J. Lakos. Large-Scale C++ Software Design. Professional Computing Series. Addison-Wesley, 1996.

    Google Scholar 

  22. H. P. Langtangen. Computational Partial Differential Equations: Numerical Methods and Diffpack Programming. Springer-Verlag, 1999.

    Google Scholar 

  23. J. W. H. Liu. Modification of the minimum-degree algorithm by multiple elimination. ACM Trans. on Math. Software 11:141–153, June 1985.

    Article  MATH  Google Scholar 

  24. J. W. H. Liu. The role of elimination trees in sparse factorization. SIAM J. Matrix Anal. Appl. 11(1):134–172, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  25. J. W. H. Liu. The multifrontal method for sparse matrix solution: theory and practice. SIAM Rev., 34(1):82–109, 1992.

    Article  MathSciNet  MATH  Google Scholar 

  26. E. G. Y. Ng and P. Raghavan. Performance of greedy ordering heuristics for sparse Cholesky factorization. Technical Report, Computer Science Department, University of Tennessee, Knoxville, 1997.

    Google Scholar 

  27. PETSc homepage: http://www.mcs.anl.gov/petsc/petsc.html

  28. E. Rothberg and S. Eisenstat. Node selection strategies for bottom-up sparse matrix ordering. SIAM J. Matrix Anal. Appl. 19(3):682–695, July 1998.

    Article  MathSciNet  MATH  Google Scholar 

  29. E. Rothberg. Ordering sparse matrices using approximate minimum local fill. Preprint, April 1996.

    Google Scholar 

  30. SPOOLES homepage: http://www.netlib.org/linalg/spooles/spooles.2.2.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dobrian, F., Kumfert, G., Pothen, A. (2000). The Design of Sparse Direct Solvers using Object-Oriented Techniques. In: Langtangen, H.P., Bruaset, A.M., Quak, E. (eds) Advances in Software Tools for Scientific Computing. Lecture Notes in Computational Science and Engineering, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-57172-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-57172-5_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66557-1

  • Online ISBN: 978-3-642-57172-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics