A Concurrent Object-Oriented Approach to the Eigenproblem Treatment in Shared Memory Multicore Environments

  • Alfonso Niño
  • Camelia Muñoz-Caro
  • Sebastián Reyes
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6782)


This work presents an object-oriented approach to the concurrent computation of eigenvalues and eigenvectors in real symmetric and Hermitian matrices on present memory shared multicore systems. This can be considered the lower level step in a general framework for dealing with large size eigenproblems, where the matrices are factorized to a small enough size. The results show that the proposed parallelization achieves a good speedup in actual systems with up to four cores. Also, it is observed that the limiting performance factor is the number of threads rather than the size of the matrix. We also find that a reasonable upper limit for a “small” dense matrix to be treated in actual processors is in the interval 10000-30000.


Eigenproblem Parallel Programming Object-Orientation Multicore processors 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Levine, I.N.: Quantum Chemistry, 5th edn. Prentice-Hall, Englewood Cliffs (1999)Google Scholar
  2. 2.
    Johnson, R.A., Wichern, D.W.: Applied Multivariate Statistical Analysis. Fifth Edition. Prentice-Hall, Englewood Cliffs (2002)zbMATHGoogle Scholar
  3. 3.
    Mieghem, P.N.: Graph Spectra for Complex Networks. Cambridge University Press, Cambridge (2011)zbMATHGoogle Scholar
  4. 4.
    Golub, G.H., van Loan, C.F.: Matrix Computations, 3rd edn. Johns Hopkins University Press, Baltimore, MD (1996)zbMATHGoogle Scholar
  5. 5.
    Castro, M.E., Niño, A., Muñoz-Caro, C.: Evaluation and Optimal Computation of Angular Momentum Matrix Elements: An Information Theory Approach. WSEAS Trans. on Inf. Sci. and Appl. 7:2, 263–272 (2010)Google Scholar
  6. 6.
    Golub, G.H., van der Vorst, H.A.: Eigenvalue Computation in the 20th Century. J. Comput. and Appl. Math. 123, 35–65 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Jacobi, C.G.J.: Ueber ein Leichtes Verfahren, die in der Theorie der Säcularstörungen Vorkommenden GleichungenNnumerisch Auflösen. J. Reine Angew. Math. 30, 51–94 (1846)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Givens, W.: Numerical Computation of the Characteristic Values of a Real Symmetric Matrix. Oak Ridge Report Number ORNL 1574, physics (1954)Google Scholar
  9. 9.
    Householder, A.S.: Unitary Triangularization of a Nonsymmetric Matrix. J. ACM. 5, 339–342 (1958)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Wilkinson, J.H.: The Algebraic Eigenvalue Problem. Clarendon Press, Oxford (1965)zbMATHGoogle Scholar
  11. 11.
    Parlett, B.N.: The symmetric Eigenvalue Problem. In: SIAM, Philadelphia. Republication of the original work, Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  12. 12.
    Golub, G.H., van Loan, C.F.: Matrix Computations, 3rd edn. Johns Hopkins University Press, Baltimore, MD (1996)zbMATHGoogle Scholar
  13. 13.
    Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T.: Numerical Recipes. In: The Art of Scientific Computing, Cambridge University Press, Cambridge (2007)Google Scholar
  14. 14.
    Ortega, J.M.: Mathematics for Digital Computers. In: Ralston, Wilf (eds.), vol. 2, p. 94. John Wiley & Sons, Chichester (1967)Google Scholar
  15. 15.
    Cuppen, J.J.M.: A Divide and Conquer Method for the Symmetric Tridiagonal Eigenproblem. Numer. Math. 36, 177–195 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Gu, M., Eisenstat, S.C.: A Divide-and-Conquer Algorithm for the Symmetric Tridiagonal Eigenproblem. SIAM J. Matrix Anal. Appl. 16, 172–191 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Wilkinson, J.H., Reinsch, C.: Handbook for Automatic Computation. In: Linear Algebra, vol. 2, Springer, Heidelberg (1971)CrossRefGoogle Scholar
  18. 18.
    Dongarra, J.J., Moler, C.B., Bunch, J.R., Stewart, G.W.: LINPACK Users’ Guide; LINPACK (1979),
  19. 19.
    EISPACK Last access (December 2010),
  20. 20.
    Anderson, E., et al.: LAPACK Users’ Guide. In: SIAM, July 22, 2010 (1999),
  21. 21.
    Blackford, L.S., et al.: ScaLAPACK Users’ Guide, December, 2010. SIAM, Philadelphia (1997), CrossRefzbMATHGoogle Scholar
  22. 22.
    ARPACK Last access (December 2010),
  23. 23.
    Lehoucq, R.B., Sorensen, D.C.: Deflation Techniques for an Implicitly Restarted Arnoldi Iteration, SIAM. J. Matrix Anal. & Appl. 17, 789–821 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    PARPACK Last access (December 2010),
  25. 25.
    SLEPc Last access (December 2010),
  26. 26.
    Castro, M.E., Díaz, J., Muñoz-Caro, C., Niño, A.: A Uniform Object-Oriented Solution to the Eigenvalue Problem for Real Symmetric and Hermitian Matrices. Comput. Phys. Comun. Comput. Phys. Comun. doi:10.1016/j.cpc.2010.11.022(in press)Google Scholar
  27. 27.
    Kirk, D., Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann, San Francisco (2010)Google Scholar
  28. 28.
    Hwu, W., Keutzer, K., Mattson, T.G.: The Concurrency Challenge. IEEE Design and Test of Computers 25, 312–320 (2008)CrossRefGoogle Scholar
  29. 29.
    Sutter, H., Larus, J.: Software and the Concurrency Revolution. ACM Queue 3, 54–62 (2005)CrossRefGoogle Scholar
  30. 30.
    Sottile, M.J., Mattson, T.G., Rasmussen, C.E.: Introduction to Concurrency in Programming Languages. CRC Press, Boca Raton (2010)zbMATHGoogle Scholar
  31. 31.
    OpenMP, A.P.I.: Specification for Parallel Programming. Last access (December 2010),
  32. 32.
    Gropp, W., Huss-Lederman, S., Lumsdaine, A., Lusk, E., Nitzberg, B., Saphir, W., Snir, M.: MPI: The Complete Reference, 2nd edn., vol. 2, The MPI-2 Extensions. The MIT Press, Redmond, Washington (1998)Google Scholar
  33. 33.
    Kedia, K.: Hybrid Programming with OpenMP and MPI, Technical Report 18.337J, Massachusetts Institute of Technology (2009)Google Scholar
  34. 34.
    Jacobsen, D.A., Thibaulty, J.C., Senocak, I.: An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters. In: 48th AIAA Aerospace Sciences Meeting and Exhibit, Florida (2010)Google Scholar
  35. 35.
    Jang, H., Park, A., Jung, K.: Neural Network Implementation using CUDA and OpenMP. In: Proc. of the 2008 Digital Image Computing: Techniques and Applications, Canberra, pp. 155–161 (2008)Google Scholar
  36. 36.
    Shukuzawa, O., Suzuki, T., Yokota, I.: Real tridiagonalization of Hermitian matrices by modified Householder transformation. Proc. Japan. Acad. Ser. A 72, 102–103 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  37. 37.
    Bischof, C., Marques, M., Sun, X.: Parallel Bandreduction and Tridiagonalization. Proceedings. In: Proc. Sixth SIAM Conference on Parallel Processing for Scientific Computing, pp. 383–390. SIAM, Philadelphia (1993)Google Scholar
  38. 38.
    Smith, C., Hendrickson, B., Jessup, E.: A Parallel Algorithm for Householder Tridiagonalization. In: Proc. 5th SIAM Conf. Appl. Lin. Alg. Lin. Alg. SIAM, Philadelphia (1994)Google Scholar
  39. 39.
    Chang, H.Y., Utku, S., Salama, M., Rapp, D.: A Parallel Householder Tridiagonalization Stratagem Using Scattered Square Decomposition. Parallel Computing 6, 297–311 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  40. 40.
    Honecker, A., Schüle, J.: OpenMP Implementation of the Householder Reduction for Large Complex Hermitian Eigenvalue Problems. In: Bischof, C., et al. (eds.) Parallel Computing: Architectures, Algorithms and Applications. NIC Series, vol. 38, pp. 271–278. John von Neumann Institute for Computing (2007)Google Scholar
  41. 41.
    Polychronopoulos, C.D., Kuck, D.: Guided Self-Scheduling: a Practical Scheduling Scheme for Parallel Supercomputers. IEEE Trans. on Computers 36, 1425–1439 (1987)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alfonso Niño
    • 1
  • Camelia Muñoz-Caro
    • 1
  • Sebastián Reyes
    • 1
  1. 1.QCyCAR research group, Escuela Superior de InformáticaUniversidad de Castilla-La ManchaCiudad RealSpain

Personalised recommendations