CaNS 的 GPU 加速用于典型流体流动的大规模并行直接数值模拟
流体动力学
2021-02-15 v3 计算工程、金融与科学
计算物理
摘要
本工作展示了开源代码 CaNS 的 GPU 加速,用于非常快速的大规模并行典型流体流动模拟。CaNS 中多 CPU 的 Navier-Stokes 求解器的显著特征是其基于特征函数展开方法的二阶有限差分泊松方程的快速直接求解器。该求解器在统一框架中实现了对此类问题有效的所有边界条件。在此,我们使用 CUDA Fortran 将该求解器扩展至 GPU 加速集群。移植广泛使用了 CUF 内核,并因 CUDA Fortran 的统一内存特性而大大简化,该特性在无需在源代码中定义新数组的情况下处理主机 (CPU) 与设备 (GPU) 之间的数据迁移。整体实现已针对湍流槽道流的基准数据进行了验证,并在 NVIDIA DGX-2 系统 (16 块 Tesla V100 32Gb,通过 NVLink 经 NVSwitch 连接) 上评估了其性能。只要域划分足够小以使数据主要驻留在 GPU 上,与最先进的多 CPU 集群上的 CPU 实现相比,GPU 加速实现的每时间步挂钟时间小得惊人。该实现已根据 MIT 许可证条款免费提供并开源。
引用
@article{arxiv.2001.05234,
title = {GPU acceleration of CaNS for massively-parallel direct numerical simulations of canonical fluid flows},
author = {Pedro Costa and Everett Phillips and Luca Brandt and Massimiliano Fatica},
journal= {arXiv preprint arXiv:2001.05234},
year = {2021}
}