arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2011.01850math.NAcs.MScs.NA
收藏

利用混合精度技术改进GMRES方法的性能

Improving the Performance of the GMRES Method using Mixed-Precision Techniques

Neil Lindquist, Piotr Luszczek, Jack Dongarra

摘要:

GMRES方法用于求解许多科学应用中产生的稀疏、非对称的线性方程系统。单个节点内的求解器性能受内存限制,这是由于其计算内核的算术强度较低。为了减少数据移动量,从而提高性能,我们研究了在保持双精度精度的同时混合使用单精度和双精度的效果。以前的努力已经探索了降低精度的预处理器,但使用降低精度的求解器本身已受到有限的关注。我们发现GMRES在计算残差和更新近似解时只需要双倍精度就可以达到双倍精度精度,尽管它在每次提高单精度精度后都必须重新启动。这一发现适用于测试的正交化方案:修改的Gram-Schmidt(MGS)和经典的Gram-Schmidt与重新正交化(CGSR)。此外,我们的混合精度GMRES,当重新启动至少一次时,平均比MGS和CGSR的双精度GMRES分别快19%和24%。我们的实现使用泛型编程技术,以减轻不同的数据类型的编码实现的负担。我们使用Kokkos库,使我们能够利用并行性和优化数据管理。此外,在生成性能结果时使用了KokkosKernels。总之,在GMRES中混合使用单精度和双精度可以在保持双精度的同时提高性能。

英文摘要:

The GMRES method is used to solve sparse, non-symmetric systems of linear equations arising from many scientific applications. The solver performance within a single node is memory bound, due to the low arithmetic intensity of its computational kernels. To reduce the amount of data movement, and thus, to improve performance, we investigated the effect of using a mix of single and double precision while retaining double-precision accuracy. Previous efforts have explored reduced precision in the preconditioner, but the use of reduced precision in the solver itself has received limited attention. We found that GMRES only needs double precision in computing the residual and updating the approximate solution to achieve double-precision accuracy, although it must restart after each improvement of single-precision accuracy. This finding holds for the tested orthogonalization schemes: Modified Gram-Schmidt (MGS) and Classical Gram-Schmidt with Re-orthogonalization (CGSR). Furthermore, our mixed-precision GMRES, when restarted at least once, performed 19% and 24% faster on average than double-precision GMRES for MGS and CGSR, respectively. Our implementation uses generic programming techniques to ease the burden of coding implementations for different data types. Our use of the Kokkos library allowed us to exploit parallelism and optimize data management. Additionally, KokkosKernels was used when producing performance results. In conclusion, using a mix of single and double precision in GMRES can improve performance while retaining double-precision accuracy.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑