Parallel Engineering and Scientific Subroutine Library for AIX Version 2 Release 3: Guide and Reference
Part 1. Guide Information
Chapter 1. Overview, Requirements, and List of Subroutines
Overview of Parallel ESSL
How Parallel ESSL Works under the Parallel Environment (PE)
Accuracy of the Computations
The Fortran Language Interface to the Parallel ESSL Subroutines
Hardware and Software Products That Can Be Used with Parallel ESSL
Parallel ESSL--Hardware
Parallel ESSL--System Software
Parallel ESSL--Software Products
Thread Safety
Installation and Customization
Software Products for Displaying Parallel ESSL Online Information
Parallel ESSL--PDF File
ESSL Internet Resources
Obtaining Documentation
Accessing ESSL's Home Pages
Getting on the ESSL Mailing List
BLACS--Usage in Parallel ESSL for Communication
List of Parallel ESSL Subroutines
Level 2 PBLAS
Level 3 PBLAS
Linear Algebraic Equations
Eigensystem Analysis and Singular Value Analysis
Fourier Transforms
Random Number Generation
Utilities
Chapter 2. Distributing Your Data
Concepts
About Global Data Structures
About Process Grids
What to Do in Your Program
Block, Cyclic, and Block-Cyclic Data Distributions
Specifying and Distributing Data in Your Program
Specifying Block-Cyclically-Distributed Vectors and Matrices
Specifying Block-Cyclically-Distributed Matrices for the Banded Linear Algebraic Equations
Distributing Data Structures
Vectors
Matrices
Specifying Sparse Matrices for the Fortran 90 and Fortran 77 Sparse Linear Algebraic Equations
Specifying Sequences for the Fourier Transforms
Chapter 3. Coding and Running Your Program
Coding Tips for Optimizing Parallel Performance
Choosing a Parallel ESSL Library
Parallel ESSL Techniques
Avoiding Conflicts with Parallel ESSL and ESSL for AIX Routine Names
Coding Your Program
Initializing the BLACS
Using Extrinsic Procedures--The Fortran 90 Sparse Linear Algebraic Equation Subroutines
Setting Up the Parallel ESSL Header File for C and C++
Application Program Outline
Application Program Outline for the Fortran 90 Sparse Linear Algebraic Equations and Their Utilities
Application Program Outline for the Fortran 77 Sparse Linear Algebraic Equations and Their Utilities
Running Your Program
Dynamic Linking Versus Static Linking
Fortran Program Procedures
C Program Procedures
C++ Program Procedures
Chapter 4. Migrating Your Programs
|Migrating to Parallel ESSL Version 2 Release 3
Migrating to Parallel ESSL Version 2 Release 2
Migrating to Parallel ESSL Version 2 Release 1.2
Migrating to Parallel ESSL Version 2 Release 1.1
Migrating to Parallel ESSL Version 2 Release 1
Array Descriptor Considerations
Type-1 Array Descriptor
Type-501 and -502 Array Descriptors
Future Migration Considerations for Array Descriptors
|Migrating from ScaLAPACK 1.5 to Parallel ESSL Version 2 Release 3
Chapter 5. Using Error Handling
Where to Find More Information About Errors
Getting Help from IBM Support
National Language Support
PESSL_ERROR_SYNC Environment Variable
Dealing with Errors
Program Exceptions
Input-Argument Errors
Computational Errors
Resource Errors
Communication Errors
Informational and Attention Messages
Miscellaneous Errors
ESSL for AIX Error Messages
MPI Error Messages
Messages
Message Conventions
Input-Argument Error Messages (001-299)
Computational Error Messages (300-399)
Resource Error Messages (400-499)
Communication Error Messages (500-599)
Informational and Attention Messages (600-699)
Miscellaneous Error Messages (700-799)
Input-Argument Error Messages (800-999)
Part 2. Reference Information
Chapter 6. Level 2 PBLAS
Overview of the Level 2 PBLAS Subroutines
Level 2 PBLAS Subroutines
PDGEMV and PZGEMV--Matrix-Vector Product for a General Matrix or Its Transpose
PDSYMV and PZHEMV--Matrix-Vector Product for a Real Symmetric or a Complex Hermitian Matrix
PDGER, PZGERC, and PZGERU--Rank-One Update of a General Matrix
PDSYR and PZHER--Rank-One Update of a Real Symmetric or a Complex Hermitian Matrix
PDSYR2 and PZHER2--Rank-Two Update of a Real Symmetric or a Complex Hermitian Matrix
PDTRMV and PZTRMV--Matrix-Vector Product for a Triangular Matrix or Its Transpose
PDTRSV and PZTRSV--Solution of Triangular System of Equations with a Single Right-Hand Side
Chapter 7. Level 3 PBLAS
Overview of the Level 3 PBLAS Subroutines
Level 3 PBLAS Subroutines
PDGEMM and PZGEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose
PDSYMM, PZSYMM, and PZHEMM--Matrix-Matrix Product Where One Matrix is Real or Complex Symmetric or Complex Hermitian
PDTRMM and PZTRMM--Triangular Matrix-Matrix Product
PDTRSM and PZTRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides
PDSYRK, PZSYRK, and PZHERK--Rank-K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
PDSYR2K, PZSYR2K, and PZHER2K--Rank-2K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
PDTRAN, PZTRANC, and PZTRANU--Matrix Transpose for a General Matrix
Chapter 8. Linear Algebraic Equations
Overview of the Dense Linear Algebraic Equation Subroutines
Overview of the Banded Linear Algebraic Equation Subroutines
Overview of the Fortran 90 Sparse Linear Algebraic Equation Subroutines
Overview of the Fortran 77 Sparse Linear Algebraic Equation Subroutines
Dense Linear Algebraic Equation Subroutines
PDGESV and PZGESV--General Matrix Factorization and Solve
PDGETRF and PZGETRF--General Matrix Factorization
PDGETRS and PZGETRS--General Matrix Solve
PDGETRI and PZGETRI--General Matrix Inverse
PDGECON and PZGECON--Estimate the Reciprocal of the Condition Number of a General Matrix
PDGEQRF and PZGEQRF--General Matrix QR Factorization
PDGELS and PZGELS--General Matrix Least Squares Solution
PDPOSV and PZPOSV--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization and Solve
PDPOTRF and PZPOTRF--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization
PDPOTRS and PZPOTRS--Positive Definite Real Symmetric or Complex Hermitian Matrix Solve
Banded Linear Algebraic Equation Subroutines
PDPBSV--Positive Definite Symmetric Band Matrix Factorization and Solve
PDPBTRF--Positive Definite Symmetric Band Matrix Factorization
PDPBTRS--Positive Definite Symmetric Band Matrix Solve
PDGTSV and PDDTSV--General Tridiagonal Matrix Factorization and Solve
PDGTTRF and PDDTTRF--General Tridiagonal Matrix Factorization
PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve
PDPTSV--Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve
PDPTTRF--Positive Definite Symmetric Tridiagonal Matrix Factorization
PDPTTRS--Positive Definite Symmetric Tridiagonal Matrix Solve
Fortran 90 Sparse Linear Algebraic Equation Subroutines and Their Utility Subroutines
PADALL--Allocates Space for an Array Descriptor for a General Sparse Matrix
PSPALL--Allocates Space for a General Sparse Matrix
PGEALL--Allocates Space for a Dense Vector
PSPINS--Inserts Local Data into a General Sparse Matrix
PGEINS--Inserts Local Data into a Dense Vector
PSPASB--Assembles a General Sparse Matrix
PGEASB--Assembles a Dense Vector
PSPGPR--Preconditioner for a General Sparse Matrix
PSPGIS--Iterative Linear System Solver for a General Sparse Matrix
PGEFREE--Deallocates Space for a Dense Vector
PSPFREE--Deallocates Space for a General Sparse Matrix
PADFREE--Deallocates Space for an Array Descriptor for a General Sparse Matrix
Example--Using the Fortran 90 Sparse Subroutines
Fortran 77 Sparse Linear Algebraic Equation Subroutines and Their Utility Subroutines
PADINIT--Initializes an Array Descriptor for a General Sparse Matrix
PDSPINIT--Initializes a General Sparse Matrix
PDSPINS--Inserts Local Data into a General Sparse Matrix
PDGEINS--Inserts Local Data into a Dense Vector
PDSPASB--Assembles a General Sparse Matrix
PDGEASB--Assembles a Dense Vector
PDSPGPR--Preconditioner for a General Sparse Matrix
PDSPGIS--Iterative Linear System Solver for a General Sparse Matrix
Example--Using the Fortran 77 Sparse Subroutines
Chapter 9. Eigensystem Analysis and Singular Value Analysis
Overview of the Eigensystem Analysis and Singular Value Analysis Subroutines
Eigensystem Analysis and Singular Value Analysis Subroutines
PDSYEVX and PZHEEVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Matrix
PDSYGVX and PZHEGVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem
PDSYTRD and PZHETRD--Reduce a Real Symmetric or Complex Hermitian Matrix to Tridiagonal Form
PDSYGST and PZHEGST--Reduce a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem to Standard Form
PDGEHRD--Reduce a General Matrix to Upper Hessenberg Form
PDGEBRD--Reduce a General Matrix to Bidiagonal Form
Chapter 10. Fourier Transforms
Overview of the Fourier Transforms Subroutines
Acceptable Lengths for the Transforms
Fourier Transforms Subroutines
PSCFT2 and PDCFT2--Complex Fourier Transforms in Two Dimensions
PSRCFT2 and PDRCFT2--Real-to-Complex Fourier Transforms in Two Dimensions
PSCRFT2 and PDCRFT2--Complex-to-Real Fourier Transforms in Two Dimensions
PSCFT3 and PDCFT3--Complex Fourier Transforms in Three Dimensions
PSRCFT3 and PDRCFT3--Real-to-Complex Fourier Transforms in Three Dimensions
PSCRFT3 and PDCRFT3--Complex-to-Real Fourier Transforms in Three Dimensions
Chapter 11. Random Number Generation
Overview of the Random Number Generation Subroutines
Random Number Generation Subroutines
PDURNG--Uniform Random Number Generator
Chapter 12. Utilities
Overview of the Utility Subroutines
Utility Subroutines
IPESSL--Determine the Level of Parallel ESSL Installed on Your System
NUMROC--Compute the Number of Rows or Columns of a Block-Cyclically Distributed Matrix Contained in a Process
PDLANGE and PZLANGE--General Matrix Norm
Part 3. Appendixes
Appendix A. BLACS Quick Reference Guide
BLACS Initialization Subroutines
BLACS Deallocating Resources Subroutines
BLACS Sending Subroutines
BLACS Receiving Subroutines
BLACS Global Operation Subroutines
BLACS Informational and Miscellaneous Subroutines
Data Types
Argument Options
Appendix B. Sample Programs
Sample Programs and Utilities Provided with Parallel ESSL
Sample Thermal Diffusion Program
Thermal Diffusion Discussion Paper
Program Main
Module Parameters
Module Diffusion
Module Fourier
Module Scale
Input Data
Output Data
Sample Sparse Linear Algebraic Equations Programs
Fortran 90 Sample Sparse Program
Fortran 77 Sample Sparse Program
Fortran 90 Sample Sparse Program (using the Harwell-Boeing exchange format)
Sample PARTS Subroutine
The READ_MAT Subroutine
The MAT_DIST Subroutine
The DESYM Subroutine
Sample Makefiles and Run Script
Makefile
Run Script
Notices
Trademarks
Software Update Protocol
Programming Interfaces
Glossary
Bibliography
References
Parallel ESSL Publications
Evaluation and Planning
Installation
Application Programming
Related Publications
|AIX
XL Fortran
|Parallel Environment
|Parallel System Support Programs
Index
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]