中文

稀疏复杂几何大规模 Lattice Boltzmann 方法的体系结构特定生成

分布式、并行与集群计算 2024-08-14 v1 性能

摘要

我们实现并分析了一种用于支撑流体动力学问题中大量非流体节点(如多孔介质流动)的稀疏/间接寻址数据结构。该数据结构集成到代码生成管道中,以支持各种 stencil 和碰撞算子的稀疏 Lattice Boltzmann 方法,并为 CPU 以及 AMD 和 NVIDIA 加速器芯片生成高效代码。我们通过原地流式模式优化这些稀疏内核,以节省内存访问和内存消耗,并实现一种通信隐藏技术以证明可扩展性。我们展示了单 GPU 性能结果,达到最高 99% 的最大带宽利用率。我们将优化后的生成内核集成到高性能框架 WALBERLA,实现了在现代 HPC 系统上最多 1024 个 NVIDIA A100 GPU 和 4096 个 AMD MI250X GPU 上的至少 82% 的扩展效率。进一步,我们设置了三个不同的应用来测试稀疏数据结构以解决实际演示问题。我们展示了针对多孔介质流动、粒子床自由流以及冠状动脉血流的性能结果。相较于直接寻址数据结构,稀疏/间接寻址数据结构在这些应用中实现了最高 2 倍的性能提升,以及最高 75% 的显著降低内存消耗。

关键词

引用

@article{arxiv.2408.06880,
  title  = {Architecture Specific Generation of Large Scale Lattice Boltzmann Methods for Sparse Complex Geometries},
  author = {Philipp Suffa and Markus Holzer and Harald Köstler and Ulrich Rüde},
  journal= {arXiv preprint arXiv:2408.06880},
  year   = {2024}
}

备注

16 pages, 19 figures