使用 OpenACC 在 GPU 上实现 Gadget3
天体物理仪器与方法
2020-03-25 v1 性能
摘要
我们给出了使用 OpenACC 指令对 Gadget3 所有主要模块(引力计算、SPH 密度计算、SPH 流体动力力与热传导)进行 GPU 移植的初步结果。此处我们为每个 MPI 进程分配一块 GPU,并通过重叠 CPU 与 GPU 上的计算来利用主机与加速器的能力:当 GPU 异步计算其 MPI 进程内粒子间相互作用时,CPU 执行树遍历与邻域粒子的 MPI 通信。我们对代码各部分进行性能分析以理解加速的来源,发现由于活跃粒子较少的时间步而未达到峰值加速。我们运行了来自 Magneticum 项目的流体宇宙学模拟,含 个粒子,最终总加速比约为 。我们还展示了一个仅引力的 OpenACC 移植初步版本的扩展测试结果,该测试在 EuroHack17 活动期间运行,其移植原型在多达 块 GPU 上保持了恒定加速比。
引用
@article{arxiv.2003.10850,
title = {Gadget3 on GPUs with OpenACC},
author = {Antonio Ragagnin and Klaus Dolag and Mathias Wagner and Claudio Gheller and Conradin Roffler and David Goz and David Hubber and Alexander Arth},
journal= {arXiv preprint arXiv:2003.10850},
year = {2020}
}
备注
10 pages, 4 figures, printed by ParCo 2019 (at IOS Advances in Parallel Computing, Volume 36, pages 209 - 218, ISBN 978-1-64368-070-5)