Toward a High Performance Tile Divide and Conquer Algorithm for the Dense Symmetric Eigenvalue Problem

Classical solvers for the dense symmetric eigenvalue problem suffer from the first step, which involves a reduction to tridiagonal form that is dominated by the cost of accessing memory during the panel factorization. The solution is to reduce the matrix to a banded form, which then requires the eigenvalues of the banded matrix to be computed. The standard divide and conquer algorithm can be modified for this purpose. The paper combines this insight with tile algorithms that can be scheduled via a dynamic runtime system to multicore architectures. A detailed analysis of performance and accuracy is included. Performance improvements of 14-fold and 4-fold speedups are reported relative to LAPACK and Intel's Math Kernel Library.

[1]  J. Cuppen A divide and conquer method for the symmetric tridiagonal eigenproblem , 1980 .

[2]  Peter Arbenz,et al.  Divide and conquer algorithms for the bandsymmetric eigenvalue problem , 1992, Parallel Computing.

[3]  J. Bunch,et al.  Rank-one modification of the symmetric eigenproblem , 1978 .

[4]  James Demmel,et al.  Algorithm 880: A testing infrastructure for symmetric tridiagonal eigensolvers , 2008, TOMS.

[5]  W. Gander,et al.  Restricted rank modification of the symmetric eigenvalue problem: Theoretical considerations , 1988 .

[6]  Notker Rösch,et al.  ParaGauss: The Density Functional Program ParaGauss for Complex Systems in Chemistry , 2005 .

[7]  Jack Dongarra,et al.  Parallelizing the Divide and Conquer Algorithm for the SymmetricTridiagonal Eigenvalue Problem on Distributed Memory Architectures , 1998 .

[8]  Jack Dongarra,et al.  Fully Dynamic Scheduler for Numerical Computing on Multicore Processors , 2009 .

[9]  Robert A. van de Geijn,et al.  Scheduling of QR Factorization Algorithms on SMP and Multi-Core Architectures , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[10]  Christian H. Bischof,et al.  Algorithm 807: The SBR Toolbox—software for successive band reduction , 2000, TOMS.

[11]  Stanley C. Eisenstat,et al.  A Divide-and-Conquer Algorithm for the Symmetric Tridiagonal Eigenproblem , 1995, SIAM J. Matrix Anal. Appl..

[12]  R. C. Thompson The behavior of eigenvalues and singular values under perturbations of restricted rank , 1976 .

[13]  Philipp Birken,et al.  Numerical Linear Algebra , 2011, Encyclopedia of Parallel Computing.

[14]  Jeffery D. Rutter A Serial Implementation of Cuppen''s Divide and Conquer Algorithm , 1991 .

[15]  G. Golub,et al.  On the spectral decomposition of Hermitian matrices modified by low rank perturbations , 1988 .

[16]  Jack Dongarra,et al.  QR Factorization for the CELL Processor , 2008 .

[17]  Jack J. Dongarra,et al.  A Parallel Divide and Conquer Algorithm for the Symmetric Eigenvalue Problem on Distributed Memory Architectures , 1999, SIAM J. Sci. Comput..

[18]  Emmanuel Agullo,et al.  Comparative study of one-sided factorizations with multiple software packages on multi-core hardware , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[19]  Jack J. Dongarra,et al.  A fully parallel algorithm for the symmetric eigenvalue problem , 1985, PPSC.

[20]  Horst D. Simon,et al.  The solution of large dense generalized eigenvalue problems on the Cray X-MP/24 with SSD , 1987 .

[21]  B. Parlett,et al.  Multiple representations to compute orthogonal eigenvectors of symmetric tridiagonal matrices , 2004 .

[22]  Robert A. van de Geijn,et al.  SuperMatrix: a multithreaded runtime scheduling system for algorithms-by-blocks , 2008, PPoPP.

[23]  Christoph W. Ueberhuber,et al.  A Low-Complexity Divide-and-Conquer Method for Computing Eigenvalues and Eigenvectors of Symmetric Band Matrices , 2001 .

[24]  J. H. Wilkinson The algebraic eigenvalue problem , 1966 .

[25]  I. Dhillon Algorithm for the Symmetric Tridiagonal Eigenvalue/Eigenvector Problem , 1998 .

[26]  Matemática,et al.  Society for Industrial and Applied Mathematics , 2010 .

[27]  Gene H. Golub,et al.  Matrix computations , 1983 .

[28]  Jack Dongarra,et al.  QR factorization for the Cell Broadband Engine , 2009, HiPC 2009.

[29]  Wilfried N. Gansterer,et al.  An extension of the divide-and-conquer method for a class of symmetric block-tridiagonal eigenproblems , 2002, TOMS.

[30]  James Demmel,et al.  Applied Numerical Linear Algebra , 1997 .

[31]  James Demmel,et al.  Performance and Accuracy of LAPACK's Symmetric Tridiagonal Eigensolvers , 2008, SIAM J. Sci. Comput..

[32]  Robert A. van de Geijn,et al.  Updating an LU Factorization with Pivoting , 2008, TOMS.

[33]  Peter Arbenz,et al.  Parallel divide and conquer algorithms for the symmetric tridiagonal eigenproblem , 1994 .

[34]  Ilse C. F. Ipsen,et al.  Solving the Symmetric Tridiagonal Eigenvalue Problem on the Hypercube , 1990, SIAM J. Sci. Comput..

[35]  Robert C. Ward,et al.  A parallel symmetric block-tridiagonal divide-and-conquer algorithm , 2007, TOMS.

[36]  D. Sorensen,et al.  On the orthogonality of eigenvectors computed by divide-and-conquer techniques , 1991 .

[37]  Inderjit S. Dhillon,et al.  The design and implementation of the MRRR algorithm , 2006, TOMS.

[38]  R. Martin,et al.  Electronic Structure: Basic Theory and Practical Methods , 2004 .

[39]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[40]  Jack Dongarra,et al.  LAPACK Users' Guide, 3rd ed. , 1999 .

[41]  Gene H. Golub,et al.  Some modified matrix eigenvalue problems , 1973, Milestones in Matrix Computation.

[42]  Julien Langou,et al.  A Class of Parallel Tiled Linear Algebra Algorithms for Multicore Architectures , 2007, Parallel Comput..

[43]  David Padua,et al.  Encyclopedia of Parallel Computing , 2011 .

[44]  Jeffery D. Rutter LAPACK Working Note 69: A Serial Implementation of Cuppen''s Divide and Conquer Algorithm for the Symmetric Eigenvalue Problem , 1994 .

[45]  Jack J. Dongarra,et al.  Solving Systems of Linear Equations on the CELL Processor Using Cholesky Factorization , 2008, IEEE Transactions on Parallel and Distributed Systems.

[46]  Wilfried N. Gansterer,et al.  Computing Approximate Eigenpairs of Symmetric Block Tridiagonal Matrices , 2003, SIAM J. Sci. Comput..