Developing Extensible Lattice-Boltzmann Simulators for General-Purpose Graphics-Processing Units

被引:5
作者
Walsh, Stuart D. C. [1 ]
Saar, Martin O. [2 ]
机构
[1] Lawrence Livermore Natl Lab, Livermore, CA USA
[2] Univ Minnesota, Dept Earth Sci, Minneapolis, MN USA
基金
美国国家科学基金会;
关键词
Lattice-Boltzmann methods; graphics processing units; computational fluid dynamics; COMPUTATION; MODELS; GPUS;
D O I
10.4208/cicp.351011.260112s
中图分类号
O4 [物理学];
学科分类号
0702 ;
摘要
Lattice-Boltzmann methods are versatile numerical modeling techniques capable of reproducing a wide variety of fluid-mechanical behavior. These methods are well suited to parallel implementation, particularly on the single-instruction multiple data (SIMD) parallel processing environments found in computer graphics processing units (GPUs). Although recent programming tools dramatically improve the ease with which GPU-based applications can be written, the programming environment still lacks the flexibility available to more traditional CPU programs. In particular, it may be difficult to develop modular and extensible programs that require variable on-device functionality with current GPU architectures. This paper describes a process of automatic code generation that overcomes these difficulties for lattice-Boltzmann simulations. It details the development of GPU-based modules for an extensible lattice-Boltzmann simulation package - LBHydra. The performance of the automatically generated code is compared to equivalent purpose written codes for both single-phase, multiphase, and multicomponent flows. The flexibility of the new method is demonstrated by simulating a rising, dissolving droplet moving through a porous medium with user generated lattice-Boltzmann models and subroutines.
引用
收藏
页码:867 / 879
页数:13
相关论文
共 31 条
  • [1] Lattice-Boltzmann Method for Complex Flows
    Aidun, Cyrus K.
    Clausen, Jonathan R.
    [J]. ANNUAL REVIEW OF FLUID MECHANICS, 2010, 42 : 439 - 472
  • [2] AMD, 2006, ATI CTM GUID TECHN R
  • [3] [Anonymous], INT C PAR PROC VIENN
  • [4] [Anonymous], 2009, TECHNICAL REPORT
  • [5] [Anonymous], 2010, NVIDIA CUDA C PROGR
  • [6] [Anonymous], 2008, P 13 ACM SIGPLAN S P
  • [7] Barker K.J., 2008, SC '08: Proceedings of the 2008 ACM/IEEE conference on Supercomputing, P1, DOI DOI 10.1109/SC.2008.5217926
  • [8] Bell N., 2011, GPU COMPUTING GEMS J, P359
  • [9] Boltzmann L., 1872, Wiener Berichte, V66, P275370
  • [10] Brook for GPUs: Stream computing on graphics hardware
    Buck, I
    Foley, T
    Horn, D
    Sugerman, J
    Fatahalian, K
    Houston, M
    Hanrahan, P
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2004, 23 (03): : 777 - 786