ESSL and Parallel ESSL are collections of state-of-the-art mathematical subroutines specifically designed to improve the performance of engineering and scientific applications on the IBM POWER™ processor-based servers and blades. ESSL and Parallel ESSL are commonly used in the aerospace, automotive, electronics, petroleum, utilities and scientific research industries for applications such as:
- Structural Analysis
- Time Series Analysis
- Computational Chemistry
- Computational Techniques
- Fluid Dynamics Analysis
- Mathematical Analysis
- Seismic Analysis
- Dynamic Systems Simulation
- Reservoir Modeling
- Nuclear Engineering
- Quantitative Analysis
- Electronic Circuit Design
ESSL and Parallel ESSL support 32-bit and 64-bit Fortran, C and C++ serial, SMP and SPMD applications running under AIX® and Linux®.
ESSL
ESSL is a collection of high performance mathematical subroutines providing a wide range of functions for many common scientific and engineering applications. The mathematical subroutines are divided into nine computational areas:
- Linear Algebra Subprograms
- Matrix Operations
- Linear Algebraic Equations
- Eigensystem Analysis
- Fourier Transforms, Convolutions, Correlations and Related Computations
- Sorting and Searching
- Interpolation
- Numerical Quadrature
- Random Number Generation
ESSL provides the following run-time libraries:
- The ESSL Serial Library provides thread-safe versions of the ESSL subroutines for use on all processors. You may use this library to develop your own multithreaded applications.
- The ESSL Symmetric Multi-Processing (SMP) Library provides thread-safe versions of the ESSL subroutines for use on all SMP processors. In addition, some of these subroutines are also multithreaded, meaning, they support the shared memory parallel processing programming model. You do not have to change your existing application programs that call ESSL to take advantage of the increased performance of using the SMP processors; you can simply re-link your existing programs.
- The ESSL Blue Gene Serial Library and the ESSL Blue Gene SMP Library, run in a 32-bit integer, 32-bit pointer environment. Both libraries are tuned for IBM Blue Gene/P. A subset of the subroutines in the ESSL Blue Gene Serial Library use SIMD algorithms that utilize the PowerPC 450 dual FPUs. The ESSL Blue Gene SMP library provides thread-safe versions of the ESSL subroutines. A subset of these subroutines are also multithreaded versions. Those multithreaded versions support the shared memory parallel processing programming model. Some of these multi-threaded subroutines also use SIMD algorithms that utilize the PowerPC 450 dual FPUs.
The ESSL Serial Library and the ESSL SMP Library support the following application environments:
- 32-bit integers and 32-bit pointers
- 32-bit integers and 64-bit pointers
- 64-bit integers and 64-bit pointers
All libraries are designed to provide high levels of performance for numerically intensive computing jobs and both provide mathematically equivalent results. The ESSL subroutines can be called from application programs written in Fortran, C, and C++. ESSL running on the AIX and Linux operating systems.
Parallel ESSL
Parallel ESSL is a scalable mathematical subroutine library for standalone clusters or clusters of servers connected via a switch and running AIX and Linux. Parallel ESSL supports the Single Program Multiple Data (SPMD) programming model using the Message Passing Interface (MPI) library. The Parallel ESSL SMP libraries support parallel processing applications on clusters of Power Systems servers and blades connected via a LAN supporting IP or with an InfiniBand switch.
Parallel ESSL provides subroutines in the following computational areas:
- Level 2 Parallel Basic Linear Algebra Subprograms (PBLAS)
- Level 3 PBLAS
- Linear Algebraic Equations
- Eigensystem Analysis and Singular Value Analysis
- Fourier Transforms
- Random Number Generation
For communication, Parallel ESSL includes the Basic Linear Algebra Communications Subprograms (BLACS), which use MPI. For computations, Parallel ESSL uses the ESSL subroutines (ESSL is a pre-requisite).
The Parallel ESSL subroutines can be called from 32-bit and 64-bit application programs written in Fortran, C, and C++ running the AIX and Linux operating systems.
The Parallel ESSL SMP Libraries are provided for use with the IBM Parallel Environment MPI library. You can run single or multithreaded US or IP applications on all types of nodes. However, you cannot simultaneously call Parallel ESSL from multiple threads.
Contact IBM
- Find a Business Partner
Call IBM: 1-866-883-8901
Priority code: 101LW04W