Strategies for Spectrum Slicing Based on Restarted Lanczos...

Click here to load reader

  • date post

  • Category


  • view

  • download


Embed Size (px)

Transcript of Strategies for Spectrum Slicing Based on Restarted Lanczos...

  • Spectrum Slicing SLEPc


    Strategies for Spectrum Slicing Based on Restarted Lanczos Methods

    Carmen Campos and Jose E. Roman Universitat Politècnica de València, Spain


  • Spectrum Slicing SLEPc



    Context: symmetric-definite generalized eigenvalue problem

    Ax = λBx B ≥ 0

    Eigenvalues are real: λ1 ≤ λ2 ≤ . . . ≤ λn Very large, sparse matrices → iterative solvers, parallel computing, small part of the spectrum

    Computational interval

    I In many applications: structures, electromagnetism, etc.

    I All eigenvalues in a given interval [a, b] (a or b must be finite)

    I Do not miss eigenvalues (could be 1000’s)

    I Determine multiplicity correctly (could be as high as 400)

  • Spectrum Slicing SLEPc



    1 Spectrum Slicing Related work Proposed variants

    2 SLEPc Overview of SLEPc Implementation of Spectrum Slicing

    3 Evaluation

  • Spectrum Slicing SLEPc


    Spectral Transformation

    The spectral transformation [Ericsson & Ruhe 1980] enables Lanczos methods to compute interior eigenvalues

    Ax = λBx =⇒ (A− σB)−1Bx = θx

    I Trivial mapping of eigenvalues: θ = (λ− σ)−1

    I Eigenvectors are not modified

    I Very fast convergence close to σ

    Things to consider:

    I Implicit inverse (A− σB)−1 via linear solves I Direct linear solver for robustness

    I Less effective for eigenvalues far away from σ

  • Spectrum Slicing SLEPc


    Spectrum Slicing Indefinite (block-)triangular factorization:

    A− σB = LDLT

    By Sylvester’s law of inertia, we get as a byproduct the number of eigenvalues on the left of σ

    ν(A− σB) = ν(D)

    Spectrum slicing

    I Multi-shift approach that sweeps all the interval I Compute eigenvalues by chunks I Use inertia to validate sub-intervals

    a b

    σ1 σ2 σ3

  • Spectrum Slicing SLEPc


    Spectrum Slicing: Grimes et al. Approach Grimes et al. [1994] proposed an “industrial strength” scheme

    I Block Lanczos, with blocksize depending on multiplicity

    I B-orthogonalization, partial and external selective reorthog.

    I Create an initial trust interval, extend it until finished

    I Unrestarted Lanczos, tracking eigenvalue convergence

    Choice of new shift:

    I Asumes there are as many eigenvalues around σi and σi+1 I Uses non-converged Ritz approximations if available

    I Sometimes need to fill-in gaps

    Deflation with sentinel mechanism:

    I Deflation against (at least) one vector from previous shift

    I Goal: orthogonality in clusters, suppress eigenvectors most likely to reappear

  • Spectrum Slicing SLEPc


    Grimes et al.: Potential Pitfalls

    Possible problems of Grimes et al. approach:

    I Exploits a priori knowledge of multiplicity

    I Assumes all multiplicities are of same rank

    I Block size cannot be arbitrarily large, difficulties with high multiplicities

    I Irregular spectra produce bad choice of shifts, with big gaps

    I Wasteful work: many repeated eigenvalues are discarded

    Using an unrestarted block Lanczos has strong implications on heuristics

  • Spectrum Slicing SLEPc


    New Context: Restarted Lanczos

    Now we have restarted Lanczos methods

    I Thick-restart Lanczos [Wu et al. 1999]

    I Equivalent to implicit-restart Lanczos, or symm. Krylov-Schur

    New assumptions:

    I Lanczos convergence is not a problem; also multiple eigs.

    I Orthogonalization is relatively cheap and scales very well

    I Performance of factorization degrades with n

    I Triangular solves are not scalable in parallel

    Goal: spectrum slicing technique that can be robust enough for irregular spectra with high multiplicity, scalable to 100’s processors

    Strategy: avoid new shifts by orthogonalizing more

  • Spectrum Slicing SLEPc


    Proposed Method (1)

    Main idea: At each shift σi request fixed number of eigenvalues (nev), with a limited number of restarts (maxit)

    Selection of new shift σi+1:

    I Cannot rely on approximate Ritz values

    I Separation of eigenvalues computed at σi is not reliable

    I Use average eigenvalue separation in [σi−1, σi]

    Backtrack: if number of eigenvalues computed in [σi−1, σi] does not match inertia, create a new shift somewhere inbetween

    I All eigenvectors available in [σi−1, σi] are deflated

    I Guarantees orthogonality of eigenvectors of multiples/clusters

  • Spectrum Slicing SLEPc


    Proposed Method (2)


    I Avoid reappearance of already computed eigenvalues

    I Also allow missing multiples to arise I Two options (flag defl):

    1. At σi+1, deflate all eigenvectors available in [σi, σi+1] 2. Minimal deflation, with sentinels similar to Grimes

    If possible, avoid backtracking

    I A new factorization to compute a few eigenvalues is wasteful

    I Parameter compl: try to complete interval if missing eigenvalues less or equal than compl

  • Spectrum Slicing SLEPc


    Proposed Method (3)

    With backtracking

    I nev=10, maxit=10, with deflation

    a b

    σ1 σ2σ3 σ4

    Avoiding backtracking

    I nev=10, maxit=10, with deflation, compl=5

    a b

    σ1 σ2 σ3

  • Spectrum Slicing SLEPc


    SLEPc: Scalable Library for Eigenvalue Problem Computations

    A general library for solving large-scale sparse eigenproblems on parallel computers

    I For standard and generalized eigenproblems

    I For real and complex arithmetic

    I For Hermitian or non-Hermitian problems

    I Also support for SVD and QEP

    Ax = λx Ax = λBx Avi = σiui (λ 2M+λC+K)x = 0

    Developed at U. Politècnica de València since 2000

    Current version: 3.1 (released Aug 2010)

  • Spectrum Slicing SLEPc


    PETSc/SLEPc Numerical Components



    Standard CUSP

    Index Sets

    Indices Block Stride Other


    Compressed Sparse Row

    Block CSR

    Symmetric Block CSR

    Dense CUSP Other


    Additive Schwarz

    Block Jacobi

    Jacobi ILU ICC LU Other

    Krylov Subspace Methods

    GMRES CG CGS Bi-CGStab TFQMR Richardson Chebychev Other

    Nonlinear Systems

    Line Search

    Trust Region Other

    Time Steppers

    Euler Backward


    Pseudo Time Step Other


    SVD Solvers

    Cross Product

    Cyclic Matrix

    Lanczos Thick R. Lanczos


    Linear- ization



    Krylov-Schur Arnoldi Lanczos GD JD Other

    Spectral Transformation

    Shift Shift-and-invert Cayley Fold Preconditioner

  • Spectrum Slicing SLEPc


    m-step Lanczos Method

    Computes Vm and Tm I M = (A− σB)−1B I Vm is a basis of the Krylov space Km(M, v1), V TmBVm = I I Tm = V

    ∗ mBMVm provides Ritz approximations, (θ̃i, Vmyi)

    for j = 1, 2, . . . ,m w =Mvj t1:j,j = V

    ∗ j Bw

    w = w − Vjt1:j,j tj+1,j = ‖w‖B vj+1 = w/tj+1,j



    I Full B-orthogonalization

    I Do not bother about partial reorthog.

    I SLEPc uses iterated CGS but MGS also available

    Use MUMPS for (A− σB)−1 = L−TD−1L−1, get inertia info

  • Spectrum Slicing SLEPc


    Symmetric Krylov-Schur

    A restarting mechanism that filters out unwanted eigenvectors

    1. Build Lanczos factorization of order m

    2. Diagonalize projected matrix

    3. Check convergence, sort

    4. Truncate to a factorization of order p

    5. Extend to a factorization of order m

    6. If not finished, go to step 2


    v m + 1



    v m + 1


    b̃∗p Ṽp

    v m + 1



    For spectrum slicing, the basis expansion needs to orthogonalize also against an arbitrary set of vectors Restarts until nev converged eigenvalues (or subinterval complete)

  • Spectrum Slicing SLEPc


    Computing Platform

    IBM BladeCenter cluster with Myrinet interconnect

    I 256 JS20 nodes

    I Two 64-bit PowerPC 970+ @ 2.2 GHz processors

    I 4 GB memory per node (1 TB total)

    Tests with up to 128 MPI processes (2 per node)

  • Spectrum Slicing SLEPc


    Test Case: Aircraft Fuselage

    Simplified but realistic model: cylinder with skin, frames, and stringers

    Parametric, “scalable”

    First vibration mode (5.34 Hz)

  • Spectrum Slicing SLEPc


    Test Case: Matrix Properties

    Analysis of frequency range [0–60] Hz

    1 million dof’s

    I Dimension: 1,036,698

    I Nonzeros: ∼29 million I Eigenvalues in interval: 1989

    2 million dof’s

    I Dimension: 2,141,646