编辑推荐:
A. Ragagnin|G.S. Karademir|F. Groth|K. Dolag|L.M. B?ss|T. Castro|N. Hariharan|M. Aiello|L. Tornatore摘要我们深入评估了用于流体动力学宇宙学模拟的N体代码在GPU上的可扩展性和准确性
A. Ragagnin|G.S. Karademir|F. Groth|K. Dolag|L.M. B?ss|T. Castro|N. Hariharan|M. Aiello|L. Tornatore
摘要
我们深入评估了用于流体动力学宇宙学模拟的N体代码在GPU上的可扩展性和准确性,该代码基于OpenGadget3框架。虽然我们在Ragagnin等人(2020年)的文章中介绍了GPU移植的技术细节,但在这项工作中,我们重点评估了移植模块的准确性:短程引力积分器、流体动力学求解器的各个组成部分以及用于热传导的共轭梯度求解器。我们进行了多项测试,逐步增加了所包含的物理模块数量:仅包含引力的宇宙学模拟;流体动力学激波管测试;在宇宙学盒子中进行的非辐射性星系团放大模拟;以及在宇宙学盒子中对单个星系进行的完整物理过程放大模拟。将GPU实现的结果与经典CPU版本的结果进行比较,我们发现所有测试结果都非常吻合,仅在极小尺度上存在微小差异。对于各个物理模块,我们观察到GPU芯片间的加速比约为。对于更复杂的宇宙学和流体动力学场景,由于大量物理过程和开销增加了总工作负载,观察到在相同节点数和每个节点的CPU数量的情况下,GPU芯片间的总加速比约为。我们在四台不同的超级计算机上进行了测试:Leonardo Booster(CINECA)、MareNostrum-V(BSC)、SuperMUC-NG2(LRZ)以及路德维希-马克西米利安大学(LMU)物理系的CIP集群。