Guide and Reference


List of Parallel ESSL Subroutines (Message Passing and HPF)

This section provides an overview of the subroutines in each of the areas of Parallel ESSL.

Level 2 PBLAS

The Level 2 PBLAS include a subset of the standard set of distributed memory parallel versions of the Level 2 BLAS.
Note: The message passing subroutines were designed in accordance with the proposed Level 2 PBLAS standard. (See references [14], [15], and [17].) If these subroutines do not comply with the standard as approved, IBM will consider updating them to do so.

The HPF subroutines were designed to be consistent with the proposals for the Fortran 90 BLAS and the Fortran 90 LAPACK. (See references [30] and [31].) If these subroutines do not comply with any eventual proposal for HPF interfaces to the PBLAS and ScaLAPACK, IBM will consider updating them to do so.

If IBM updates these subroutines, the update could require modifications of the calling application program.


Table 2. List of Level 2 PBLAS
Descriptive Name Long- Precision Subprogram Page
Matrix-Vector Product for a General Matrix or Its Transpose
PDGEMV
GEMM

 PDGEMV--Matrix-Vector Product for a General Matrix or Its Transpose 
 GEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose 

Matrix-Vector Product for a Real Symmetric Matrix
PDSYMV
SYMM

 PDSYMV--Matrix-Vector Product for a Real Symmetric Matrix 
 SYMM--Matrix-Matrix Product Where One Matrix is Real Symmetric 

Rank-One Update of a General Matrix
PDGER
GEMM

 PDGER--Rank-One Update of a General Matrix 
 GEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose 

Rank-One Update of a Real Symmetric Matrix
PDSYR
SYRK

 PDSYR--Rank-One Update of a Real Symmetric Matrix 
 SYRK--Rank-K Update of a Real Symmetric Matrix 

Rank-Two Update of a Real Symmetric Matrix
PDSYR2
SYR2K

 PDSYR2--Rank-Two Update of a Real Symmetric Matrix 
 SYR2K--Rank-2K Update of a Real Symmetric Matrix 

Matrix-Vector Product for a Triangular Matrix or Its Transpose
PDTRMV
TRMM

 PDTRMV--Matrix-Vector Product for a Triangular Matrix or Its Transpose 
 TRMM--Triangular Matrix-Matrix Product 

Solution of Triangular System of Equations with a Single Right-Hand Side
PDTRSV
TRSM

 PDTRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides 
 TRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides 

Level 3 PBLAS

The Level 3 PBLAS include a subset of the standard set of distributed memory parallel versions of the Level 3 BLAS.
Note: The message passing subroutines were designed in accordance with the proposed Level 3 PBLAS standard. (See references [14], [15], and [17].) If these subroutines do not comply with the standard as approved, IBM will consider updating them to do so.

The HPF subroutines were designed to be consistent with the proposals for the Fortran 90 BLAS and the Fortran 90 LAPACK. (See references [30] and [31].) If these subroutines do not comply with any eventual proposal for HPF interfaces to the PBLAS and ScaLAPACK, IBM will consider updating them to do so.

If IBM updates these subroutines, the update could require modifications of the calling application program.


Table 3. List of Level 3 PBLAS
Descriptive Name Long- Precision Subprogram Page
Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose
PDGEMM
PZGEMM
GEMM

 PDGEMM and PZGEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose 
 
 GEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose 

Matrix-Matrix Product Where One Matrix is Real Symmetric
PDSYMM
SYMM

 PDSYMM--Matrix-Matrix Product Where One Matrix is Real Symmetric 
 SYMM--Matrix-Matrix Product Where One Matrix is Real Symmetric 

Triangular Matrix-Matrix Product
PDTRMM
TRMM

 PDTRMM--Triangular Matrix-Matrix Product 
 TRMM--Triangular Matrix-Matrix Product 

Solution of Triangular System of Equations with Multiple Right-Hand Sides
PDTRSM
TRSM

 PDTRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides 
 TRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides 

Rank-K Update of a Real Symmetric Matrix
PDSYRK
SYRK

 PDSYRK--Rank-K Update of a Real Symmetric Matrix 
 SYRK--Rank-K Update of a Real Symmetric Matrix 

Rank-2K Update of a Real Symmetric Matrix
PDSYR2K
SYR2K

 PDSYR2K--Rank-2K Update of a Real Symmetric Matrix 
 SYR2K--Rank-2K Update of a Real Symmetric Matrix 

Matrix Transpose for a General Matrix
PDTRAN
TRAN

 PDTRAN--Matrix Transpose for a General Matrix 
 TRAN--Matrix Transpose for a General Matrix 

Linear Algebraic Equations

These subroutines consist of dense, banded, and sparse subroutines, and include a subset of the ScaLAPACK subroutines.
Note: The message passing dense and banded linear algebraic equations subroutines were designed in accordance with the proposed ScaLAPACK standard. (However, PDDTTRS does not support General Tridiagonal Matrix Transpose Solve. For details, see PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve.) See references [10], [16], [18], [27], and [28]. If these subroutines do not comply with the standard as approved, IBM will consider updating them to do so.

The HPF dense and banded linear algebraic equations subroutines were designed to be consistent with the proposals for the Fortran 90 BLAS and the Fortran 90 LAPACK. (See references [30] and [31].) If these subroutines do not comply with any eventual proposal for HPF interfaces to the PBLAS and ScaLAPACK, IBM will consider updating them to do so.

If IBM updates these subroutines, the update could require modifications of the calling application program.

Dense Linear Algebraic Equations

The dense linear algebraic equation subroutines provide solutions to linear systems of equations for real and complex general matrices and their transposes, and for positive definite real symmetric and complex Hermitian matrices.

Table 4. List of Dense Linear Algebraic Equation Subroutines
Descriptive Name Long- Precision Subroutine Page
General Matrix Factorization
PDGETRF
PZGETRF
GETRF

PDGETRF and PZGETRF--General Matrix Factorization 
 
GETRF--General Matrix Factorization 

General Matrix Solve
PDGETRS
PZGETRS
GETRS

PDGETRS and PZGETRS--General Matrix Solve 
 
GETRS--General Matrix Solve 

Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization
PDPOTRF
PZPOTRF
POTRF

PDPOTRF and PZPOTRF--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization 
 
POTRF--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization 

Positive Definite Real Symmetric or Complex Hermitian Matrix Solve
PDPOTRS
PZPOTRS
POTRS

PDPOTRS and PZPOTRS--Positive Definite Real Symmetric or Complex Hermitian Matrix Solve 
 
POTRS--Positive Definite Real Symmetric or Complex Hermitian Matrix Solve 

Banded Linear Algebraic Equations

The banded linear algebraic equation subroutines provide solutions to linear systems of equations for real positive definite symmetric band matrices, real general tridiagonal matrices, diagonally-dominant real general tridiagonal matrices, and real positive definite symmetric tridiagonal matrices.

Table 5. List of Banded Linear Algebraic Equation Subroutines
Descriptive Name Long- Precision Subroutine Page
Positive Definite Symmetric Band Matrix Factorization and Solve
PDPBSV
PBSV

 PDPBSV--Positive Definite Symmetric Band Matrix Factorization and Solve 
 PBSV--Positive Definite Symmetric Band Matrix Factorization and Solve 

Positive Definite Symmetric Band Matrix Factorization
PDPBTRF
PBTRF

 PDPBTRF--Positive Definite Symmetric Band Matrix Factorization 
 PBTRF--Positive Definite Symmetric Band Matrix Factorization 

Positive Definite Symmetric Band Matrix Solve
PDPBTRS
PBTRS

 PDPBTRS--Positive Definite Symmetric Band Matrix Solve 
 PBTRS--Positive Definite Symmetric Band Matrix Solve 

General Tridiagonal Matrix Factorization and Solve
PDGTSV
GTSV

 PDGTSV and PDDTSV--General Tridiagonal Matrix Factorization and Solve 
 GTSV and DTSV--General Tridiagonal Matrix Factorization and Solve 

General Tridiagonal Matrix Factorization
PDGTTRF
GTTRF

 PDGTTRF and PDDTTRF--General Tridiagonal Matrix Factorization 
 GTTRF and DTTRF--General Tridiagonal Matrix Factorization 

General Tridiagonal Matrix Solve
PDGTTRS
GTTRS

 PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve 
 GTTRS and DTTRS--General Tridiagonal Matrix Solve 

Diagonally-Dominant General Tridiagonal Matrix Factorization and Solve
PDDTSV
DTSV

 PDGTSV and PDDTSV--General Tridiagonal Matrix Factorization and Solve 
 GTSV and DTSV--General Tridiagonal Matrix Factorization and Solve 

Diagonally-Dominant General Tridiagonal Matrix Factorization
PDDTTRF
DTTRF

 PDGTTRF and PDDTTRF--General Tridiagonal Matrix Factorization 
 GTTRF and DTTRF--General Tridiagonal Matrix Factorization 

Diagonally-Dominant General Tridiagonal Matrix Solve
PDDTTRS
DTTRS

 PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve 
 GTTRS and DTTRS--General Tridiagonal Matrix Solve 

Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve
PDPTSV
PTSV

 PDPTSV--Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve 
 PTSV--Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve 

Positive Definite Symmetric Tridiagonal Matrix Factorization
PDPTTRF
PTTRF

 PDPTTRF--Positive Definite Symmetric Tridiagonal Matrix Factorization 
 PTTRF--Positive Definite Symmetric Tridiagonal Matrix Factorization 

Positive Definite Symmetric Tridiagonal Matrix Solve
PDPTTRS
PTTRS

 PDPTTRS--Positive Definite Symmetric Tridiagonal Matrix Solve 
 PTTRS--Positive Definite Symmetric Tridiagonal Matrix Solve 

Fortran 90 Sparse Linear Algebraic Equation Subroutines

The Fortran 90 sparse linear algebraic equation subroutines provide solutions to linear systems of equations for a real general sparse matrix. The sparse utility subroutines provided in Parallel ESSL must be used in conjunction with the sparse linear algebraic equation subroutines.

Table 6. List of Fortran 90 Sparse Linear Algebraic Equation Subroutines
Descriptive Name Long-Precision Subroutine Page
Allocates Space for an Array Descriptor for a General Sparse Matrix PADALL PADALL--Allocates Space for an Array Descriptor for a General Sparse Matrix
Allocates Space for a General Sparse Matrix PSPALL PSPALL--Allocates Space for a General Sparse Matrix
Allocates Space for a Dense Vector PGEALL PGEALL--Allocates Space for a Dense Vector
Inserts Local Data into a General Sparse Matrix PSPINS PSPINS--Inserts Local Data into a General Sparse Matrix
Inserts Local Data into a Dense Vector PGEINS PGEINS--Inserts Local Data into a Dense Vector
Assembles a General Sparse Matrix PSPASB PSPASB--Assembles a General Sparse Matrix
Assembles a Dense Vector PGEASB PGEASB--Assembles a Dense Vector
Preconditioner for a General Sparse Matrix PSPGPR PSPGPR--Preconditioner for a General Sparse Matrix
Iterative Linear System Solver for a General Sparse Matrix PSPGIS PSPGIS--Iterative Linear System Solver for a General Sparse Matrix
Deallocates Space for a Dense Vector PGEFREE PGEFREE--Deallocates Space for a Dense Vector
Deallocates Space for a General Sparse Matrix PSPFREE PSPFREE--Deallocates Space for a General Sparse Matrix
Deallocates Space for an Array Descriptor for a General Sparse Matrix PADFREE PADFREE--Deallocates Space for an Array Descriptor for a General Sparse Matrix

Fortran 77 Sparse Linear Algebraic Equation Subroutines

The Fortran 77 sparse linear algebraic equation subroutines provide solutions to linear systems of equations for a real general sparse matrix. The sparse utility subroutines provided in Parallel ESSL must be used in conjunction with the sparse linear algebraic equation subroutines.

Table 7. List of The Fortran 77 Sparse Linear Algebraic Equation Subroutines
Descriptive Name Long-Precision Subroutine Page
Initializes an Array Descriptor for a General Sparse Matrix PADINIT PADINIT--Initializes an Array Descriptor for a General Sparse Matrix
Initializes a General Sparse Matrix PDSPINIT PDSPINIT--Initializes a General Sparse Matrix
Inserts Local Data into a General Sparse Matrix PDSPINS PDSPINS--Inserts Local Data into a General Sparse Matrix
Inserts Local Data into a Dense Vector PDGEINS PDGEINS--Inserts Local Data into a Dense Vector
Assembles a General Sparse Matrix PDSPASB PDSPASB--Assembles a General Sparse Matrix
Assembles a Dense Vector PDGEASB PDGEASB--Assembles a Dense Vector
Preconditioner for a General Sparse Matrix PDSPGPR PDSPGPR--Preconditioner for a General Sparse Matrix
Iterative Linear System Solver for a General Sparse Matrix PDSPGIS PDSPGIS--Iterative Linear System Solver for a General Sparse Matrix

Eigensystem Analysis and Singular Value Analysis

The eigensystem analysis and singular value analysis subroutines include a subset of the ScaLAPACK subroutines. See references [19] and [20].
Note: The message passing subroutines were designed in accordance with the proposed ScaLAPACK standard. If these subroutines do not comply with the standard as approved, IBM will consider updating them to do so.

The HPF subroutines were designed to be consistent with the proposals for the Fortran 90 BLAS and the Fortran 90 LAPACK. (See references [30] and [31].) If these subroutines do not comply with any eventual proposal for HPF interfaces to the PBLAS and ScaLAPACK, IBM will consider updating them to do so.

If IBM updates these subroutines, the update could require modifications of the calling application program.


Table 8. List of Eigensystem Analysis and Singular Value Analysis Subroutines
Descriptive Name Long- Precision Subroutine Page
Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix
PDSYEVX
SYEVX

 PDSYEVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix 
 SYEVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix 

Reduce a Real Symmetric Matrix to Tridiagonal Form
PDSYTRD
SYTRD

 PDSYTRD--Reduce a Real Symmetric Matrix to Tridiagonal Form 
 SYTRD--Reduce a Real Symmetric Matrix to Tridiagonal Form 

Reduce a General Matrix to Upper Hessenberg Form
PDGEHRD
GEHRD

 PDGEHRD--Reduce a General Matrix to Upper Hessenberg Form 
 GEHRD--Reduce a General Matrix to Upper Hessenberg Form 

Reduce a General Matrix to Bidiagonal Form
PDGEBRD
GEBRD

 PDGEBRD--Reduce a General Matrix to Bidiagonal Form 
 GEBRD--Reduce a General Matrix to Bidiagonal Form 

Fourier Transforms

The Fourier transform subroutines perform mixed-radix transforms in two and three dimensions. See references [1] and [3].

Table 9. List of Fourier Transform Subroutines
Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Complex Fourier Transforms in Two Dimensions
PSCFT2
FFT

PDCFT2
FFT

 PSCFT2 and PDCFT2--Complex Fourier Transforms in Two Dimensions 
 FFT--Fourier Transforms in Two Dimensions 

Real-to-Complex Fourier Transforms in Two Dimensions
PSRCFT2
FFT

PDRCFT2
FFT

 PSRCFT2 and PDRCFT2--Real-to-Complex Fourier Transforms in Two Dimensions 
 FFT--Fourier Transforms in Two Dimensions 

Complex-to-Real Fourier Transforms in Two Dimensions
PSCRFT2
FFT

PDCRFT2
FFT

 PSCRFT2 and PDCRFT2--Complex-to-Real Fourier Transforms in Two Dimensions 
 FFT--Fourier Transforms in Two Dimensions 

Complex Fourier Transforms in Three Dimensions
PSCFT3
FFT

PDCFT3
FFT

 PSCFT3 and PDCFT3--Complex Fourier Transforms in Three Dimensions 
 FFT--Fourier Transforms in Three Dimensions 

Real-to-Complex Fourier Transforms in Three Dimensions
PSRCFT3
FFT

PDRCFT3
FFT

 PSRCFT3 and PDRCFT3--Real-to-Complex Fourier Transforms in Three Dimensions 
 FFT--Fourier Transforms in Three Dimensions 

Complex-to-Real Fourier Transforms in Three Dimensions
PSCRFT3
FFT

PDCRFT3
FFT

 PSCRFT3 and PDCRFT3--Complex-to-Real Fourier Transforms in Three Dimensions 
 FFT--Fourier Transforms in Three Dimensions 

Random Number Generation

The random number generation subroutine generates uniformly distributed random numbers.

Table 10. List of Random Number Generation Subroutines
Descriptive Name Long- Precision Subroutine Page
Uniform Random Number Generator
PDURNG
URNG

 PDURNG--Uniform Random Number Generator 
 URNG--Uniform Random Number Generator 

Utilities

The message passing utility subroutines perform general service functions that support Parallel ESSL, rather than mathematical computations.

Table 11. List of Utility Subroutines
Descriptive Name Integer Subroutine Page
Determine the Level of Parallel ESSL Installed on Your System IPESSL IPESSL--Determine the Level of Parallel ESSL Installed on Your System 
Compute the Number of Rows or Columns of a Block-Cyclically Distributed Matrix Contained in a Process NUMROC NUMROC--Compute the Number of Rows or Columns of a Block-Cyclically Distributed Matrix Contained in a Process 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]