利用混合精度技术提升 GMRES 方法性能
数值分析
2020-11-04 v1 数学软件
数值分析
摘要
GMRES 方法用于求解源自众多科学应用的稀疏、非对称线性方程组。由于计算核的算术强度低,单节点内的求解器性能受内存限制。为减少数据移动量从而提升性能,我们研究了在保持双精度精度的同时使用单精度与双精度混合的效果。先前工作已探索在预条件子中使用降精度,但求解器本身使用降精度所受关注有限。我们发现,GMRES 仅需在计算残差与更新近似解时使用双精度即可达到双精度精度,尽管其在单精度精度每次提升后必须重启。该发现对测试的两种正交化方案均成立:修正 Gram-Schmidt(MGS)与带重正交化的经典 Gram-Schmidt(CGSR)。此外,我们的混合精度 GMRES 在至少重启一次时,相较双精度 GMRES 对 MGS 和 CGSR 平均分别快 19% 和 24%。我们的实现使用泛型编程技术以减轻针对不同数据类型编写实现的负担。我们对 Kokkos 库的使用使我们能够利用并行性并优化数据管理。此外,在生成性能结果时使用了 KokkosKernels。总之,在 GMRES 中使用单双精度混合可在保持双精度精度的同时提升性能。
引用
@article{arxiv.2011.01850,
title = {Improving the Performance of the GMRES Method using Mixed-Precision Techniques},
author = {Neil Lindquist and Piotr Luszczek and Jack Dongarra},
journal= {arXiv preprint arXiv:2011.01850},
year = {2020}
}
备注
16 pages. In the 17th Smoky Mountains Computational Sciences and Engineering Conference