在超级计算机富岳的 A64FX 上使用 HPX/Kokkos 模拟恒星并合
分布式、并行与集群计算
2023-09-18 v1 天体物理仪器与方法
摘要
依赖非 GPU 架构(如高性能计算中的 ARM A64FX)的机器日益可用,这给应用开发者带来了一系列有趣的挑战。除了要求代码在不同并行化方案间可移植外,面向这些架构的程序必须在计算核大小上高度自适应,以适应各种异构工作负载的不同执行特征。在本文中,我们展示了一种完全基于业界既有标准的代码与性能可移植性方法。除了将 Kokkos 用作不同异构执行环境中计算核执行之上的抽象层外,我们展示了利用 HPX 运行时系统所暴露的标准 C++ 构造,基于真实世界的 Octo-Tiger 天体物理应用实现了卓越的代码与性能可移植性。我们报告了将 Octo-Tiger 移植到石溪大学 Ookami 和理化学研究所超级计算机富岳所提供的 ARM A64FX 架构上的经验,并将所得性能与 ORNL 的 Summit、NERSC 的 Perlmutter 和 CSCS 的 Piz Daint 等成熟的面向 GPU 的 HPC 机器进行比较。得益于 HPX 和 Kokkos 提供的抽象层,Octo-Tiger 在超级计算机富岳上良好扩展而无需任何重大代码改动。由于使用标准 C++,为 Octo-Tiger 添加 ARM SVE 的向量化支持轻而易举。
引用
@article{arxiv.2304.11002,
title = {Simulating Stellar Merger using HPX/Kokkos on A64FX on Supercomputer Fugaku},
author = {Patrick Diehl and Gregor Daiß and Kevin Huck and Dominic Marcello and Sagiv Shiber and Hartmut Kaiser and Dirk Pflüger},
journal= {arXiv preprint arXiv:2304.11002},
year = {2023}
}