FEAST Library Package
Current status:
- Standard or Generalized Hermitian and non-Hermitian eigenvalue problems (left/right eigenvectors
and bi-orthonormal basis);
- Polynomial eigenvalue problems such as quadratic, cubic, quartic, etc. (left/right eigenvectors);
- Finding eigenpair within a search contour (normal mode); Finding extreme eigenvalues (lowest/largest)
for sparse Hermitian systems;
- Real/Complex arithmetic and mixed precision (single precision operations leading to double precision
final results);
- Two libraries: SMP version (one node), and MPI version (multi-nodes);
- Reverse communication interfaces (RCI).
- Driver interfaces for dense (using LAPACK), banded (using SPIKE), and sparse-CSR formats (using
MKL-PARDISO);
- IFEAST- FEAST w/o factorization for sparse-CSR drivers (using BiCGStab);
- PFEAST- FEAST using 3 levels of MPI parallelism for HPC (MPI solvers includes MKL-Cluster-
PARDISO and PBiCGStab); Sparse and RCI interfaces compatible with local row-distributed data.
- A set of flexible and useful practical options (quadrature rules, contour shapes, stopping criteria, initial
guess, fast stochastic estimates for eigenvalue counts, etc.)
- Portability: FEAST routines can be called from any Fortran or C codes.
- FEAST interfaces only require (any optimized) LAPACK and BLAS packages.
- Large number of driver examples, utility routines, and documentation.
|
FEAST Algorithm
Some of the important capabilities of the FEAST algorithm
can be briefly outlined as follows:
- High robustness with fast convergence to very high accuracy
- Naturally captures all multiplicities
- No-(explicit) orthogonalization procedure on long vectors
- Reusable subspace - can benefit from suitable initial guess for solving series of eigenvalue problems that are close one another
- Ideally suited for large sparse systems- allows the use of iterative methods.
- Can exploit natural parallelism at three different levels:
- L1. search intervals can be treated separately (no overlap);
- L2. linear systems can be solved independently across the quadrature nodes of the complex contour;
- L3. each linear system with multiple right-hand-sides can be solved in parallel.
Parallel resources can be placed at all three
levels simultaneously in order to achieve scalability and optimal use of the computing platform. Within a
parallel environment, the main numerical task can be reduced to the solution of a single linear system using
direct or iterative parallel solvers.
|