混合编程环境下并行预条件共轭梯度的可重现性
分布式、并行与集群计算
2020-05-18 v1 数学软件
摘要
预条件共轭梯度法常用于求解物理现象数值模拟中出现的线性方程组。尽管被广泛使用,该求解器也以计算残差时缺乏精度而著称。在本文中,我们提出两种源自ExBLAS项目的算法解决方案,以增强求解器的精度并确保其在混合MPI + OpenMP任务编程环境中的可重现性。一种基于ExBLAS并在最终舍入前保留每一位信息,另一种依赖于浮点展开从而扩展中间精度。我们并未将整个求解器转换为其ExBLAS相关实现,而是识别出那些破坏可重现性/非结合性的部分,对其加以保护,并与顺序执行相结合。这些算法策略辅以可编程性建议,以保证确定性执行。最后,我们在两个现代HPC系统上验证了这些方法:两个版本均交付可重现的迭代次数、残差、直接误差和向量解,在768核上的开销低于37.7%。
引用
@article{arxiv.2005.07282,
title = {Reproducibility of Parallel Preconditioned Conjugate Gradient in Hybrid Programming Environments},
author = {Roman Iakymchuk and Maria Barreda and Stef Graillat and Jose I. Aliaga and Enrique S. Quintana-Orti},
journal= {arXiv preprint arXiv:2005.07282},
year = {2020}
}