On Parallelizing the MRRR Algorithm for Data-Parallel Coprocessors

  • Christian Lessig
  • Paolo Bientinesi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6067)


The eigenvalues and eigenvectors of a symmetric matrix are of interest in a myriad of applications. One of the fastest and most accurate numerical techniques for the eigendecomposition is the Algorithm of Multiple Relatively Robust Representations (MRRR), the first stable algorithm that computes the eigenvalues and eigenvectors of a tridiagonal symmetric matrix in O(n 2) arithmetic operations. In this paper we present a parallelization of the MRRR algorithm for data parallel coprocessors using the CUDA programming environment. The results demonstrate the potential of data-parallel coprocessors for scientific computations: compared to routine sstemr, LAPACK’s implementation of MRRR, our parallel algorithm provides 10-fold speedups.


Representation Tree Robust Representation Tridiagonal Matrice Bisection Algorithm High Relative Accuracy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Golub, G.H., Loan, C.F.V.: Matrix Computations, 3rd edn. Johns Hopkins University Press, Baltimore (1996)zbMATHGoogle Scholar
  2. 2.
    Parlett, B.N.: The Symmetric Eigenvalue Problem. Prentice-Hall, Inc., Upper Saddle River (1998)zbMATHGoogle Scholar
  3. 3.
    Martin, R.S., Reinsch, C., Wilkinson, J.H.: Householder’s Tridiagonalization of a Symmetric Matrix. Numer. Math. 11, 181–195 (1968)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Dhillon, I.S.: A New O(n 2) Algorithm for the Symmetric Tridiagonal Eigenvalue/Eigenvector Problem. PhD thesis, EECS Department, University of California, Berkeley (1997)Google Scholar
  5. 5.
    Bientinesi, P., Dhillon, I.S., van de Geijn, R.A.: A Parallel Eigensolver for Dense Symmetric Matrices Based on Multiple Relatively Robust Representations. SIAM J. Sci. Comput. 27(1), 43–66 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    NVIDIA Corporation: CUDA Programming Guide. First edn. NVIDIA Corporation, 2701 San Toman Expressway, Santa Clara, CA 95050, USA (2007)Google Scholar
  7. 7.
    Anderson, E., Bai, Z., Bischof, C., Blackford, S., Demmel, J., Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A., Sorensen, D.: LAPACK Users’ Guide, 3rd edn. Society for Industrial and Applied Mathematics, Philadelphia (1999)Google Scholar
  8. 8.
    Dhillon, I.S., Parlett, B.N., Vömel, C.: The Design and Implementation of the MRRR Algorithm. ACM Trans. Math. Softw. 32(4), 533–560 (2006)CrossRefGoogle Scholar
  9. 9.
    Dhillon, I.S., Parlett, B.N.: Multiple Representations to Compute Orthogonal Eigenvectors of Symmetric Tridiagonal Matrices. Linear Algebra and its Applications 387(1), 1–28 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Lessig, C.: Eigenvalue Computation with CUDA. Technical report, NVIDIA Corporation (August 2007)Google Scholar
  11. 11.
    Harris, M., Sengupta, S., Owens, J.: Parallel Prefix Sum (Scan) with CUDA. In: Nguyen, H. (ed.) GPU Gems 3. Addison Wesley, Reading (August 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Christian Lessig
    • 1
  • Paolo Bientinesi
    • 2
  1. 1.DGP, University of TorontoCanada
  2. 2.AICES, RWTH AachenGermany

Personalised recommendations