面向百亿亿次计算的高速湍流:STREAmS-2 移植与性能
流体动力学
2023-04-13 v1
摘要
百亿亿次高性能计算(HPC)为推进计算流体力学(CFD)边界提供了巨大机遇,但尽管使用图形处理单元(GPU)已成既定趋势,可编程性仍是个问题。STREAmS-2(Bernardini 等,Comput. Phys. Commun. 285 (2023) 108644)是一个可压缩壁面有界湍流求解器,能够发挥 NVIDIA GPU 的潜力。在此我们将已有的 CUDA Fortran 后端扩展为面向 AMD GPU 架构的新型 HIPFort 后端。我们讨论了主要实现策略,并介绍了一款新型 Python 工具,可生成 HIPFort 和 CPU 代码版本,使开发者仅需关注 CUDA Fortran 后端。我们分析了单 GPU 性能,重点关注目前多个 HPC 集群核心的 NVIDIA A100 和 AMD MI250x 卡。发现峰值 GPU 性能与 STREAmS-2 性能之间的差距在 NVIDIA 卡上通常更小。Roofline 分析将这一行为归因于使用两种卡时同一内核出乎意料不同的计算强度。并行性能在两个最大的 EuroHPC 预百亿亿次系统 LUMI(AMD GPU)和 Leonardo(NVIDIA GPU)上测得。强扩展性显示 Leonardo 在多达 16 个节点、LUMI 在多达 32 个节点时效率超过 80%。弱扩展性显示在被测最大节点数(LUMI 256、Leonardo 512)下效率惊人地超过 95%。该分析表明 STREAmS-2 是充分利用欧洲当前预百亿亿次 HPC 系统算力的理想选择,可使用户模拟超过一万亿网格点的流动,从而缩小高保真模拟可达雷诺数与真实工程应用雷诺数之间的差距。
引用
@article{arxiv.2304.05494,
title = {High-speed turbulent flows towards the exascale: STREAmS-2 porting and performance},
author = {Srikanth Sathyanarayana and Matteo Bernardini and Davide Modesti and Sergio Pirozzoli and Francesco Salvadore},
journal= {arXiv preprint arXiv:2304.05494},
year = {2023}
}
备注
32 pages, 10 figures