IBM Books

Parallel Engineering and Scientific Subroutine Library for AIX Version 2 Release 3: Guide and Reference


Contents

  • About This Book
  • How to Use This Book
  • How to Find a Subroutine Description
  • Where to Find Related Publications
  • How to Look Up a Bibliography Reference
  • Special Terms
  • How to Interpret Product Names Used in This Document
  • Abbreviated Names
  • Fonts
  • Scalar Data Notations
  • Special Characters, Symbols, Expressions, and Abbreviations
  • Interpreting the Subroutine Descriptions
  • Syntax
  • On Entry
  • On Return
  • Notes and Coding Rules
  • Error Conditions
  • Example
  • What's New For Parallel ESSL
  • |What's New for Parallel ESSL Version 2 Release 3
  • |Changes for Parallel ESSL Version 2 Release 2
  • Changes for Parallel ESSL Version 2 Release 1.2
  • Changes for Parallel ESSL Version 2 Release 1.1
  • Changes for Parallel ESSL Version 2 Release 1.0
  • Changes for Parallel ESSL Release 2.1 for AIX
  • Changes for Parallel ESSL Release 2.0 for AIX
  • Changes for Parallel ESSL Release 1 for AIX
  • In Brief--What's Provided in Parallel ESSL

  • 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 ]