  Krylov subspace methods are an essential building block in numerical
simulation software. The efficient utilization of modern hardware is a
challenging problem in the development of these methods. In this work, we
develop Krylov subspace methods to solve linear systems with multiple
right-hand sides, tailored to modern hardware in high-performance computing. To
this end, we analyze an innovative block Krylov subspace framework that allows
to balance the computational and data-transfer costs to the hardware. Based on
the framework, we formulate commonly used Krylov methods. For the CG and
BiCGStab methods, we introduce a novel stabilization approach as an alternative
to a deflation strategy. This helps us to retain the block size, thus leading
to a simpler and more efficient implementation. In addition, we optimize the
methods further for distributed memory systems and the communication overhead.
For the CG method, we analyze approaches to overlap the communication and
computation and present multiple variants of the CG method, which differ in
their communication properties. Furthermore, we present optimizations of the
orthogonalization procedure in the GMRes method. Beside introducing a pipelined
Gram-Schmidt variant that overlaps the global communication with the
computation of inner products, we present a novel orthonormalization method
based on the TSQR algorithm, which is communication-optimal and stable. For all
optimized method, we present tests that show their superiority in a distributed
setting.
