中文

Sailfish:一种灵活的格子玻尔兹曼方法多 GPU 实现

计算物理 2015-06-17 v1 流体动力学

摘要

我们介绍了 Sailfish,这是一个开源流体模拟软件包,它使用 CUDA/OpenCL 在现代图形处理器 (GPU) 上实现了格子玻尔兹曼方法 (LBM)。我们采用了一种新颖的 GPU 代码实现方法,利用运行时代码生成技术和高级编程语言 (Python) 来达到最先进的性能,同时允许轻松尝试不同的 LBM 模型并针对各种类型的硬件进行调优。我们讨论了代码的总体设计原则、在分布式环境中扩展至多 GPU 的能力,以及多种不同 LBM 模型的 GPU 实现与优化,包括单组分模型 (BGK、MRT、ELBM) 和多组分模型 (Shan-Chen、自由能)。本文还展示了跨越最近三代 NVIDIA GPU (Tesla、Fermi、Kepler) 的性能基准测试结果,我们希望这些结果能对使用该类硬件和类似代码的研究人员有所帮助。

关键词

引用

@article{arxiv.1311.2404,
  title  = {Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method},
  author = {Michal Januszewski and Marcin Kostur},
  journal= {arXiv preprint arXiv:1311.2404},
  year   = {2015}
}

备注

36 pages, 15 figures