Karlsson, Lars
Kressner, Daniel
Lang, Bruno
Optimally Packed Chains of Bulges in Multishift QR Algorithms
ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software
15
40
2
Algorithms
Performance
Multishift QR algorithms
implicit shifts
level 3 BLAS
2014
2014
The QR algorithm is the method of choice for computing all eigenvalues of a dense nonsymmetric matrix A. After an initial reduction to Hessenberg form, a QR iteration can be viewed as chasing a small bulge from the top left to the bottom right corner along the subdiagonal of A. To increase data locality and create potential for parallelism, modern variants of the QR algorithm perform several iterations simultaneously, which amounts to chasing a chain of several bulges instead of a single bulge. To make effective use of level 3 BLAS, it is important to pack these bulges as tightly as possible within the chain. In this work, we show that the tightness of the packing in existing approaches is not optimal and can be increased. This directly translates into a reduced chain length by 33% compared to the state-of-the-art LAPACK implementation of the QR algorithm. To demonstrate the impact of our idea, we have modified the LAPACK implementation to make use of the optimal packing. Numerical experiments reveal a uniform reduction of the execution time, without affecting stability or robustness.
Association for Computing Machinery
0098-3500
ACM Transactions on Mathematical Software
Journal Articles
10.1145/2559986