Parallel and Heterogeneous $m$--Hessenberg--Triangular--Triangular Reduction
Nela Bosner, Lars Karlsson · SIAM Journal on Scientific Computing · 2017
The $m$--Hessenberg--triangular-triangular (mHTT) reduction is a simultaneous orthogonal reduction of three matrices to condensed form. It has applications, for example, in solving shifted linear systems arising in various control theory problems. A new heterogeneous CPU/GPU implementation of the mHTT reduction is presented and evaluated against an existing CPU implementation. The algorithm offloads the compute-intensive matrix--matrix multiplications to the GPU and keeps the inner loop, which is memory intensive and has a complicated control flow, on the CPU. Experiments demonstrate that the heterogeneous implementation can be superior to the existing CPU implementation on a system with $2 \times 8$ CPU cores and one GPU. Future development should focus on improving the scalability of the CPU computations.