A Task-Based Algorithm for Reordering the Eigenvalues of a Matrix in Real Schur Form
A task-based parallel algorithm for reordering the eigenvalues of a matrix in real Schur form is presented. The algorithm is realized on top of the StarPU runtime system. Only the aspects which are relevant for shared memory machines are discussed here, but the implementation can be configured to run on distributed memory machines as well. Various techniques to reduce the overhead and the core idle time are discussed. Computational experiments indicate that the new algorithm is between 1.5 and 6.6 times faster than a state of the art MPI-based implementation found in ScaLAPACK. With medium to large matrices, strong scaling efficiencies above 60% up to 28 CPU cores are reported. The overhead and the core idle time are shown to be negligible with the exception of the smallest matrices and highest core counts.
KeywordsEigenvalue reordering problem Task based programming Shared memory machines
This work is part of a project that has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 671633 (NLAFET). Support has also been received from eSSENCE, a collaborative e-Science program funded by the Swedish Government via the Swedish Research Council (VR). The author would like to extend his gratitude to Asst. Prof. Lars Karlsson and Dr. Carl Christian Kjelgaard Mikkelsen for their valuable comments and suggestions. Moreover, the author would like to thank Lic. Björn Adlerborn, Prof. Daniel Kressner (EPFL) and Prof. Bo Kågström, who is coordinator and scientific director of the NLAFET project, as well as the StarPU development team for answering various question on StarPU. Finally, the author thanks the anonymous reviewers for their valuable feedback.
- 1.LAPACK—Linear Algebra PACKage. http://www.netlib.org/lapack/
- 2.ScaLAPACK—Scalable Linear Algebra PACKage. http://www.netlib.org/scalapack/
- 3.StarPU—A Unified Runtime System for Heterogeneous Multicore Architectures. http://starpu.gforge.inria.fr/
- 7.Myllykoski, M., Kjelgaard Mikkelsen, C.C., Karlsson, L., Kågström, B.: Task-based parallel algorithms for eigenvalue reordering of matrices in real Schur form. NLAFET Working Note WN-11, April 2017. Also as Report UMINF 17.11, Department of Computing Science, Umeå University, SE-901 87 Umeå, SwedenGoogle Scholar