On current computer architectures, GMRES' performance can be limited by its communication cost to generate orthonormal basis vectors of the Krylov subspace. To address this performance bottleneck, its $s$-step variant orthogonalizes a block of $s$ basis vectors at a time, potentially reducing the communication cost by a factor of $s$. Unfortunately, for a large step size $s$, the solver can generate extremely ill-conditioned basis vectors, and to maintain stability in practice, a conservatively small step size is used, which limits the performance of the $s$-step solver. To enhance the performance using a small step size, in this paper, we introduce a two-stage block orthogonalization scheme. Similar to the original scheme, the first stage of the proposed method operates on a block of $s$ basis vectors at a time, but its objective is to maintain the well-conditioning of the generated basis vectors with a lower cost. The orthogonalization of the basis vectors is delayed until the second stage when enough basis vectors are generated to obtain higher performance. Our analysis shows the stability of the proposed two-stage scheme. The performance is improved because while the same amount of computation as the original scheme is required, most of the communication is done at the second stage of the proposed scheme, reducing the overall communication requirements. Our performance results with up to 192 NVIDIA V100 GPUs on the Summit supercomputer demonstrate that when solving a 2D Laplace problem, the two-stage approach can reduce the orthogonalization time and the total time-to-solution by the respective factors of up to $2.6\times$ and $1.6\times$ over the original $s$-step GMRES, which had already obtained the respective speedups of $2.1\times$ and $1.8\times$ over the standard GMRES. Similar speedups were obtained for 3D problems and for matrices from the SuiteSparse Matrix Collection.
翻译:在当前计算机架构上,GMRES的性能可能受限于其生成Krylov子空间标准正交基向量所需的通信开销。为解决此性能瓶颈,其$s$步变体每次对包含$s$个基向量的块进行正交化,理论上可将通信成本降低$s$倍。然而,当步长$s$较大时,求解器可能生成病态极严重的基向量。为保持实际计算中的稳定性,通常采用保守的小步长方案,这限制了$s$步求解器的性能。为在使用小步长时提升性能,本文提出一种两阶段块正交化方案。与原始方案类似,所提方法的第一阶段每次处理包含$s$个基向量的块,但其目标在于以更低成本维持生成基向量的良态性。基向量的正交化被推迟至第二阶段——当累积足够多基向量以获取更高计算性能时才执行。理论分析表明所提两阶段方案具有稳定性。由于在计算量不变的前提下,所提方案将大部分通信集中在第二阶段,因此整体通信需求降低,性能得以提升。在Summit超级计算机上使用最多192块NVIDIA V100 GPU的性能测试表明:求解二维拉普拉斯问题时,两阶段方法相比原始$s$步GMRES(其相较于标准GMRES已分别获得$2.1\times$和$1.8\times$的加速比),可将正交化时间和总求解时间分别降低至$2.6\times$和$1.6\times$。对于三维问题及来自SuiteSparse矩阵集合的测试矩阵,也获得了类似的加速效果。