Next:
Essentials
Up:
ScaLAPACK Users' Guide
Previous:
List of Notation
Guide
Essentials
ScaLAPACK
Structure and Functionality
Software Components
LAPACK
BLAS
PBLAS
BLACS
Efficiency and Portability
Availability
Commercial Use
Installation
Documentation
Support
Errata
Related Projects
Contents of the CD-ROM
Getting Started with ScaLAPACK
How to Run an Example Program Using MPI
Source Code for Example Program #1
Details of Example Program #1
Simplifying Assumptions Used in Example Program
Notation Used in Example Program
Output of Example Program #1 Using MPI
Output of Example Program #1 Using PVM
Four Basic Steps Required to Call a ScaLAPACK Routine
Initialize the Process Grid
Distribute the Matrix on the Process Grid
Call the ScaLAPACK Routine
Release the Process Grid
Contents of ScaLAPACK
Structure of ScaLAPACK
Levels of Routines
Data Types and Precision
Naming Scheme
Driver Routines
Linear Equations
Linear Least Squares Problems
Standard Eigenvalue and Singular Value Problems
Symmetric Eigenproblems
Singular Value Decomposition
Generalized Symmetric Definite Eigenproblems (GSEP)
Computational Routines
Linear Equations
Orthogonal Factorizations and Linear Least Squares Problems
QR
Factorization
LQ
Factorization
QR
Factorization with Column Pivoting
Complete Orthogonal Factorization
Other Factorizations
Generalized Orthogonal Factorizations
Generalized
QR
Factorization
Generalized
RQ
factorization
Symmetric Eigenproblems
Nonsymmetric Eigenproblems
Eigenvalues, Eigenvectors, and Schur Factorization
Singular Value Decomposition
Generalized Symmetric Definite Eigenproblems
Orthogonal or Unitary Matrices
Algorithmic Differences between LAPACK and ScaLAPACK
Data Distributions and Software Conventions
Basics
Process Grid
Contexts
Scoped Operations
Array Descriptors
In-core Dense Matrices
The Two-dimensional Block-Cyclic Distribution
Local Storage Scheme and Block-Cyclic Mapping
Array Descriptor for In-core Dense Matrices
Example
Submatrix Argument Descriptions
Matrix and Vector Storage Conventions
In-Core Narrow Band and Tridiagonal Matrices
The Block Column and Row Distributions
The Block Mapping
Local Storage Scheme for Narrow Band Matrices
Local Storage Schemes for Tridiagonal Matrices
Array Descriptor for Narrow Band and Tridiagonal Matrices
Array Descriptor for the Matrix of Right-Hand-Side Vectors
Argument Descriptions for Band and Tridiagonal Routines
Matrix Storage Conventions for Band and Tridiagonal Matrices
Out-of-Core Matrices
Array Descriptor for Out-core Dense Matrices
Design and Documentation of Argument Lists
Structure of the Documentation
Order of Arguments
Option Arguments
Problem Dimensions
Workspace Issues
WORK Arrays
LWORK Query
LWORK
WORK(1)
Error Handling and the Diagnostic Argument INFO
Alignment Restrictions
Extensions
Performance of ScaLAPACK
Achieving High Performance with ScaLAPACK
Achieving High Performance on a Distributed Memory Computer
Achieving High Performance on a Network of Workstations
Performance, Portability and Scalability
The BLAS as the Key to (Trans)portable Efficiency
Two-Dimensional Block Cyclic Data Distribution as a Key to Load Balancing and Software Reuse
BLACS as an Efficient, Portable and Adequate Message-Passing Interface
Parallel Efficiency
ScaLAPACK Performance
Performance of Selected BLACS and Level 3 BLAS Routines
Performance of Selected PBLAS routines
Solution of Common Numerical Linear Algebra Problems
Solving Linear Systems of Equations
Solving Linear Least Squares Problems
Eigenvalue Problems
Performance Evaluation
Obtaining High Performance with ScaLAPACK Codes
Checking the BLAS and BLACS Libraries
Estimate Execution Time
Determine Whether Reasonable Performance Is Achieved
Identify Performance Bottlenecks
Performance Bottlenecks in the Expert Symmetric Eigenproblem Drivers
Performance Improvement
Choosing a Faster BLACS Library
Choosing a Faster BLAS Library
Tuning the Distribution Parameters for Better Performance
Performance of Banded and Out-of-Core Drivers
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
Standard Error Analysis
Improved Error Bounds
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
Further Details: Error Bounds for the Singular Value Decomposition
Error Bounds for the Generalized Symmetric Definite Eigenproblem
Troubleshooting
Installation Debugging Hints
Application Debugging Hints
Common Errors in Calling ScaLAPACK Routines
Failures Detected by ScaLAPACK Routines
Invalid Arguments and PXERBLA
Computational Failures and INFO > 0
Wrong Results
Error Handling in the PBLAS
Error Handling in the BLACS
BLACS Warning and Error Messages
System Error Messages
Poor Performance
Index of ScaLAPACK Routines
Index of Driver and Computational Routines
Index of Auxiliary Routines
Matrix Redistribution/Copy Routines
Fortran Interface
C Interface
Code Fragment Calling C Interface Cpdgemr2d
Call Conversion: LAPACK to ScaLAPACK and BLAS to PBLAS
Translating BLAS-based programs to the PBLAS
Translating LAPACK-based programs to ScaLAPACK
Sequential LU Factorization
Parallel LU Factorization
Example Programs
Example Program #2
HPF Interface to ScaLAPACK
Quick Reference Guides
ScaLAPACK Quick Reference Guide
Quick Reference Guide to the PBLAS
Quick Reference Guide to the BLACS
Susan Blackford
Tue May 13 09:21:01 EDT 1997