200 likes | 323 Views
An overview of Eigensolvers on HPCx. Dr. A.G. Sundelarnd, Dr. E.Y Breitmoser Daresbury Laboratory, Warrington, UK WA4 4AD EPCC, University of Edinburgh, UK Presented by Luis Basurto. The standard Eigenvalue problem. Ax= λ x. The General Eigenvalue Problem. Ax= λ Bx
E N D
Anoverview of EigensolversonHPCx Dr. A.G. Sundelarnd, Dr. E.Y Breitmoser Daresbury Laboratory, Warrington, UK WA4 4AD EPCC, University of Edinburgh, UK Presented by Luis Basurto
The General EigenvalueProblem Ax=λBx A and B dense real (typically symmetric) or Hermitian matrices As B is Hermitian positive definite, we can always express B in terms of Cholesky decomposition, specifically B=LL*, where L is a lower triangular matrix.
Eigensolverapproach Reduction of thematrixtotri-diagonal form, typicallyusingtheHousedefReduction. Solutions of thematrixtri-diagonal Eigenproblemviaone of thefolliwngmethods BisectionfortheEigenvalues and inverseiterationfortheEigenvectors. QR algorithm Divide and Conquermethod (D&C) MultipleRelativelyRobustRepresentation (MR3 algorithm) Back substitutiontofindEigenvectorsforthe full problem.
Othermethods Jacobi method Symmetric Invariant Subspace Decomposition Algorithm (SYSDA)
Eigensolvers Complexity Overheads Parallelisation Issues The Nonsymmetric Eigenvalue problem
ScaLAPACK Memory requirements O(n2) Large workspace requirement for orthogonal Eigenvectors
PESSL (ParallelEngineering and ScientificSubroutine Library) Provided by IBM Provides solutions for both the standard and positive definite generalized problem.
PeIGS (ParallelEigensystemSolver) Solution to both standard and generalized problem Requires LAPACK and BLAS No longer under active development
BFG: A new implementation of a ParallelJacobiEigensolver Solves standard dense symmetric, real and Hermitian Eigenproblems. Requires BLAS and MPI. Is an iterative method.
PLAPACK (Parallel Linear Algebra Package) Solves for dense symmetric standard problem. Written in Fortran and C. Requires BLAS and MPI. MR3 algorithm requires O(n2) operations and O(n) workspace.
PARPACK (Parallel ARPACK) Solves for large symmetric and nonsymmetric, generalized Eigenproblems. Written in Fortran 77. Requires BLACS ans MPI. Software available for both serial and parallel version.
PRISM (ParallelResearchonInvariantSubspaceMethods) Solves for dense symmetric Eigensystems. Requires LAPACK, BLAS and MPI. Written in C, no Fortran interface available.
PJAC (ParallelJACobianEigensolverlibrary) Eigensolver for symmetric Hermitian for the standard problem. Size can be from n=2 to 8192. Algorithm is a hybrid of Jacobi methods.
HJS Solves real, dense symmetric matrices. Focuses on the reduction to tri-diagonal form and back-transformation of Eigenvectors. Developed by Hendrickson, Jessup and Smith Developed to test efficiency and not for public use.
PINEAPL (Parallel Industrial NumEricalApplications and Portable Libraries) Solves real or Hermitian, symmetric or nonsymmetric, dense, standard Eigenvalue problems. Written in Fortran 77 Requires BLACS, BLAS and MPI. No longer available, now included in NAG parallel library.
AvailabilityonHPCx ScaLAPACK and PESSL available for all users. PeIGS, BFG, PLAPACK and PARPACK on request. PRSIM and PJAC not currently available. NAG (PINEAPL) not available. HJS not available, never intended for public use.
Summary and Conclusions All parallel Eigensolvers presented are for dense systems, except PARPACK which is only suitable for sparse systems. ScaLAPACK solves many kinds of dense Eigenvalues problems. PESSL can be used also, as it is optimised for IBM. Progess should be monitored for the new MR3 algorithm in PLAPACK.