Krylov subspace methods are extensively used in scientific computing to solve large-scale linear systems. However, the performance of these iterative Krylov solvers on modern supercomputers is limited by expensive communication costs. The $s$-step strategy generates a series of $s$ Krylov vectors at a time to avoid communication. Asymptotically, the $s$-step approach can reduce communication latency by a factor of $s$. Unfortunately, due to finite-precision implementation, the step size has to be kept small for stability. In this work, we tackle the numerical instabilities encountered in the $s$-step GMRES algorithm. By choosing an appropriate polynomial basis and block orthogonalization schemes, we construct a communication avoiding $s$-step GMRES algorithm that automatically selects the optimal step size to ensure numerical stability. To further maximize communication savings, we introduce scaled Newton polynomials that can increase the step size $s$ to a few hundreds for many problems. An initial step size estimator is also developed to efficiently choose the optimal step size for stability. The guaranteed stability of the proposed algorithm is demonstrated using numerical experiments. In the process, we also evaluate how the choice of polynomial and preconditioning affects the stability limit of the algorithm. Finally, we show parallel scalability on more than 14,000 cores in a distributed-memory setting. Perfectly linear scaling has been observed in both strong and weak scaling studies with negligible communication costs.
翻译:Krylov子空间方法广泛应用于科学计算中求解大规模线性系统。然而,在现代超级计算机上,这些迭代Krylov求解器的性能受到昂贵通信成本的限制。s步策略每次生成一系列s个Krylov向量以避免通信。渐近地,s步方法可将通信延迟降低s倍。不幸的是,由于有限精度实现,为保证稳定性,步长必须保持较小。本文解决了s步GMRES算法中遇到的数值不稳定性问题。通过选择合适的多项式基和块正交化方案,我们构建了一种避免通信的s步GMRES算法,该算法自动选择最优步长以确保数值稳定性。为进一步最大化通信节省,我们引入了缩放牛顿多项式,对于许多问题,该多项式可将步长s增加至数百。此外,还开发了初始步长估计器,以高效选择保证稳定性的最优步长。数值实验证明了所提算法的稳定性保障。在此过程中,我们还评估了多项式选择和预处理如何影响算法的稳定性极限。最后,我们在分布式内存环境下超过14,000个核上展示了并行可扩展性。在强扩展和弱扩展研究中均观察到完美的线性可扩展性,且通信成本可忽略不计。