A mixed precision Jacobi SVD algorithm
Weiguo Gao, Yuxin Ma, Meiyue Shao
TL;DR
The paper introduces a mixed precision Jacobi SVD algorithm that accelerates dense SVD by performing the preconditioning and initial SVD in a lower precision and then refining in working precision with the one-sided Jacobi SVD. The approach hinges on a QR-based preconditioning, careful switching back to working precision, and robust refinement, with selective handling of challenging cases to preserve speed and accuracy. Theoretical backward-stability and practical quadratic convergence are established, and extensive numerical experiments demonstrate about a twofold speedup on x86-64 without sacrificing accuracy. This method offers a practical route to fast, high-accuracy SVD computations and points to potential extensions to GPUs and Hermitian eigenproblems.
Abstract
We propose a mixed precision Jacobi algorithm for computing the singular value decomposition (SVD) of a dense matrix. After appropriate preconditioning, the proposed algorithm computes the SVD in a lower precision as an initial guess, and then performs one-sided Jacobi rotations in the working precision as iterative refinement. By carefully transforming a lower precision solution to a higher precision one, our algorithm achieves about 2 times speedup on the x86-64 architecture compared to the usual one-sided Jacobi SVD algorithm in LAPACK, without sacrificing the accuracy.
