L. S. Blackford, J. Choi, A. Cleary, E. D'Azevedo, J. Demmel, I. Dhillon, J. Dongarra, S. Hammarling, G. Henry, A. Petitet, K. Stanley, D. Walker, and R. C. Whaley
Software, Environments, and Tools 4
ScaLAPACK is an acronym for Scalable Linear Algebra Package or Scalable LAPACK. It is a library of high-performance linear algebra routines for distributed memory message-passing MIMD computers and networks of workstations supporting parallel virtual machine (PVM) and/or message passing interface (MPI). It is a continuation of the LAPACK project, which designed and produced analogous software for workstations, vector supercomputers, and shared memory parallel computers. Both libraries contain routines for solving systems of linear equations, least squares problems, and eigenvalue problems. The goals of both projects are efficiency, scalability, reliability, portability, flexibility, and ease of use.
ScaLAPACK includes routines for the solution of dense, band, and tridiagonal linear systems of equations, condition estimation and iterative refinement, for LU and Cholesky factorization, matrix inversion, full-rank linear least squares problems, orthogonal and generalized orthogonal factorizations, orthogonal transformation routines, reductions to upper Hessenberg, bidiagonal and tridiagonal form, reduction of a symmetric-definite/ Hermitian-definite generalized eigenproblem to standard form, the symmetric/Hermitian, generalized symmetric/Hermitian, and nonsymmetric eigenproblem, and the singular value decomposition. Prototype codes are provided for out-of-core linear solvers for LU, Cholesky, and QR, the matrix sign function for eigenproblems, an HPF interface to a subset of ScaLAPACK routines, and SuperLU.
Software is available in single-precision real, double-precision real, single-precision complex, and double-precision complex. The software has been written to be portable across a wide range of distributed-memory environments such as the Cray T3, IBM SP, Intel series, TM CM-5, networks of workstations, and any system for which PVM or MPI is available.
Each Users' Guide includes a CD-ROM containing the HTML version of the ScaLAPACK Users' Guide, the source code for the package, testing and timing programs, prebuilt versions of the library for a number of computers, example programs, and the full set of LAPACK Working Notes.
List of Figures; List of Tables; Preface; Suggestions for Reading; List of Notation; Part I: Guide. Chapter 1: Essentials. ScaLAPACK; Structure and Functionality; Software Components; Efficiency and Portability; Availability; Commercial Use; Installation; Documentation; Support; Errata; Related Projects; Contents of the CD-ROM; Chapter 2: Getting Started with ScaLAPACK. How to Run an Example Program Using MPI; Source Code for Example Program #1; Details of Example Program #1; Four Basic Steps Required to Call a ScaLAPACK Routine; Chapter 3: Contents of ScaLAPACK. Structure of ScaLAPACK; Driver Routines; Computational Routines; Orthogonal or Unitary Matrices; Algorithmic Differences between LAPACK and ScaLAPACK; Chapter 4: Data Distribution and Software Conventions. Basics; Array Descriptors; In-Core Dense Matrices; In-Core Narrow Band and Tridiagonal Matrices; Out-of-Core Matrices; Design and Documentation of Argument Lists; Extensions; Chapter 5: Performance of ScaLAPACK. Achieving High Performance with ScaLAPACK; Performance, Portability and Scalability; Performance Evaluation; Performance Improvement; Performance of Banded and Out-of-Core Drivers; Chapter 6: Accuracy and Stability. Sources of Error in Numerical Calculations; New Sources of Error in Parallel Numerical Computations; How to Measure Errors; Further Details: How Error Bounds are Derived; Error Bounds for Linear Equation Solving; Error Bounds for Linear Least Squares Problems; Error Bounds for the Symmetric Eigenproblem; Error Bounds for the Singular Value Decomposition; Error Bounds for the Generalized Symmetric Definite Eigenproblem; Chapter 7: Troubleshooting. Installation Debugging Hints; Application Debugging Hints; Common Errors in Calling ScaLAPACK Routines; Failures Detected by ScaLAPACK Routines; Wrong Results; Error Handling in the PBLAS; Error Handling in the BLACS; System Error Messages; Poor Performance; Appendix A: Index of ScaLAPACK Routines. Index of Driver and Computational Routines; Index of Auxiliary Routines; Matrix Redistribution/Copy Routines; Appendix B: Call Conversion: LAPACK to ScaLAPACK and BLAS to PBLAS. Translating BLAS-based programs to the PBLAS; Translating LAPACK-based programs to ScaLAPACK; Appendix C: Example Programs. Example Program #2; HPF Interface to ScaLAPACK; Appendix D: Quick Reference Guides. ScaLAPACK Quick Reference Guide; Quick Reference Guide to the PBLAS; Quick Reference Guide to the BLACS; Glossary; Part II: Specifications of Routines. Bibliography; Index by Keyword; Index by Routine Name.
Royalties from the sale of this book are contributed to the SIAM Student Travel Fund.
1997 / xxvi + 325 pages / Softcover / ISBN-13: 978-0-898713-97-8 / ISBN-10: 0-89871-397-8 /
List Price $85.00 / SIAM Member Price $59.50 / Order Code SE04