A Task-based Multi-shift QR/QZ Algorithm with Aggressive Early Deflation

2020 
The QR algorithm is one of the three phases in the process of computing the eigenvalues and the eigenvectors of a dense nonsymmetric matrix. This paper describes a task-based QR algorithm for reducing an upper Hessenberg matrix to real Schur form. The task-based algorithm also supports generalized eigenvalue problems (QZ algorithm) but this paper focuses more on the standard case. The task-based algorithm inherits previous algorithmic improvements, such as tightly-coupled multi-shifts and Aggressive Early Deflation (AED), and also incorporates several new ideas that significantly improve the performance. This includes the elimination of several synchronization points, the dynamic merging of previously separate computational steps, the shorting and the prioritization of the critical path, and the introduction of an experimental GPU support. The task-based implementation is demonstrated to be significantly faster than multi-threaded LAPACK and ScaLAPACK in both single-node and multi-node configurations on two different machines based on Intel and AMD CPUs. The implementation is built on top of the StarPU runtime system and is part of an open-source StarNEig library.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    15
    References
    0
    Citations
    NaN
    KQI
    []