Performance of Block Jacobi-Davidson Eigensolvers

Jacobi-Davidson methods can efficiently compute a few eigenpairs of a large sparse matrix. Block variants of JacobiDavidson are known to be more robust than the standard algorithm, but they are usually avoided as the total number of floating point operations increases. We present the implementation of a block Jacobi-Davidson solver and show by detailed performance engineering and numerical experiments that the increase in operations is typically more than compensated by performance gains on modern architectures, giving a method that is both more efficient and robust than its single vector counterpart.