The Algorithm of Multiple Relatively Robust Representations for Multi-core Processors
The algorithm of Multiple Relatively Robust Representations (MRRR or MR3) computes k eigenvalues and eigenvectors of a symmetric tridiagonal matrix in O(nk) arithmetic operations. Large problems can be effectively tackled with existing distributed-memory parallel implementations of MRRR; small and medium size problems can instead make use of LAPACK’s routine xSTEMR. However, xSTEMR is optimized for single-core CPUs, and does not take advantage of today’s multi-core and future many-core architectures. In this paper we discuss some of the issues and trade-offs arising in the design of MR3–SMP, an algorithm for multi-core CPUs and SMP systems. Experiments on application matrices indicate that MR3–SMP is both faster and obtains better speedups than all the tridiagonal eigensolvers included in LAPACK and Intel’s Math Kernel Library (MKL).
KeywordsMRRR algorithm tridiagonal eigensolver
Unable to display preview. Download preview PDF.
- 2.Francis, J.: The QR Transform - A Unitary Analogue to the LR Transformation, Part I and II. The Comp. J. 4 (1961/1962)Google Scholar
- 3.Kublanovskaya, V.: On some Algorithms for the Solution of the Complete Eigenvalue Problem. Zh. Vych. Mat. 1, 555–572 (1961)Google Scholar
- 7.Anderson, E., Bai, Z., Bishof, C., Blackford, S., Demmel, J., Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A., Sorensen, D.: LAPACK Users’ Guide, 3rd edn. SIAM (1999)Google Scholar
- 14.Parlett, B.: The Symmetric Eigenvalue Problem. Prentice-Hall (1980)Google Scholar