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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
C. Ashcraft, R. G. Grimes, and J. G. Lewis. Accurate symmetric indefinite linear equation solvers. SIAM J. Matrix Anal. Appl. 20:513–561, 1999.
C. Ashcraft and J. W. H. Liu. SMOOTH: A software package for ordering sparse matricesNovember 1996. http://www.cs.yorku.ca/joseph/SMOOTH.html
C. Ashcraft, D. Pierce, D. K. Wah, and J. Wu. The Reference Manual for SPOOLES, Release 2.2February 1999.
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.
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.
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.
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.
I. S. Duff, R. G. Grimes, and J. G. Lewis. Users’ Guide for the Harwell-Boeing Sparse Matrix Collection Oct 1992.
Diffpack homepage: http://www.nobjects.com/Diffpack
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.
I. S. Duff, A. Erisman, and J. K. Reid. Direct Methods for Sparse Matrices. Clarendon Press, Oxford, 1986.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison Wesley Longman, 1995.
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.
A. George and J. W. H. Liu. Computer Solution of Large, Sparse, Positive Definite Systems. Prentice Hall, 1981.
A. George and J. W. H. Liu. The evolution of the minimum degree algorithm. SIAM Rev. 31(1):1–19, March 1989.
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.
B. Hendrickson and R. Leland. The Chaco User’s Guide. Sandia National Laboratories, Albuquerque, NM 87815, Oct 1993.
G. Kumfert and A. Pothen. Two improved algorithms for envelope and wave-front reduction. BIT 37:559–590, 1997.
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.
J. Lakos. Large-Scale C++ Software Design. Professional Computing Series. Addison-Wesley, 1996.
H. P. Langtangen. Computational Partial Differential Equations: Numerical Methods and Diffpack Programming. Springer-Verlag, 1999.
J. W. H. Liu. Modification of the minimum-degree algorithm by multiple elimination. ACM Trans. on Math. Software 11:141–153, June 1985.
J. W. H. Liu. The role of elimination trees in sparse factorization. SIAM J. Matrix Anal. Appl. 11(1):134–172, 1990.
J. W. H. Liu. The multifrontal method for sparse matrix solution: theory and practice. SIAM Rev., 34(1):82–109, 1992.
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.
PETSc homepage: http://www.mcs.anl.gov/petsc/petsc.html
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.
E. Rothberg. Ordering sparse matrices using approximate minimum local fill. Preprint, April 1996.
SPOOLES homepage: http://www.netlib.org/linalg/spooles/spooles.2.2.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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