Data-Oriented Language Implementation of the Lattice-Boltzmann Method for Dense and Sparse Geometries

被引:0
作者
Tomczak, Tadeusz [1 ]
机构
[1] Wroclaw Univ Sci & Technol, Dept Comp Engn, PL-50370 Wroclaw, Poland
来源
APPLIED SCIENCES-BASEL | 2021年 / 11卷 / 20期
关键词
parallel programming; CUDA; GPU; LBM; GPU IMPLEMENTATION; SIMULATIONS; TRANSPORT; SOLVER; FLOW;
D O I
10.3390/app11209495
中图分类号
O6 [化学];
学科分类号
0703 ;
摘要
The performance of lattice-Boltzmann solver implementations usually depends mainly on memory access patterns. Achieving high performance requires then complex code which handles careful data placement and ordering of memory transactions. In this work, we analyse the performance of an implementation based on a new approach called the data-oriented language, which allows the combination of complex memory access patterns with simple source code. As a use case, we present and provide the source code of a solver for D2Q9 lattice and show its performance on GTX Titan Xp GPU for dense and sparse geometries up to 40962 nodes. The obtained results are promising, around 1000 lines of code allowed us to achieve performance in the range of 0.6 to 0.7 of maximum theoretical memory bandwidth (over 2.5 and 5.0 GLUPS for double and single precision, respectively) for meshes of sizes above 10242 nodes, which is close to the current state-of-the-art. However, we also observed relatively high and sometimes difficult to predict overheads, especially for sparse data structures. The additional issue was also a rather long compilation, which extended the time of short simulations, and a lack of access to low-level optimisation mechanisms.</p>
引用
收藏
页数:19
相关论文
共 28 条
  • [1] Ayachit U., 2015, PARAVIEW GUIDE PARAL
  • [2] Bailey Peter, 2009, Proceedings of the 2009 International Conference on Parallel Processing (ICPP 2009), P550, DOI 10.1109/ICPP.2009.38
  • [3] MUPHY: A parallel MUlti PHYsics/scale code for high performance bio-fluidic simulations
    Bernaschi, M.
    Melchionna, S.
    Succi, S.
    Fyta, M.
    Kaxiras, E.
    Sircar, J. K.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2009, 180 (09) : 1495 - 1502
  • [4] A MODEL FOR COLLISION PROCESSES IN GASES .1. SMALL AMPLITUDE PROCESSES IN CHARGED AND NEUTRAL ONE-COMPONENT SYSTEMS
    BHATNAGAR, PL
    GROSS, EP
    KROOK, M
    [J]. PHYSICAL REVIEW, 1954, 94 (03): : 511 - 525
  • [5] WaLBerla: HPC software design for computational engineering simulations
    Feichtinger, C.
    Donath, S.
    Koestler, H.
    Goetz, J.
    Ruede, U.
    [J]. JOURNAL OF COMPUTATIONAL SCIENCE, 2011, 2 (02) : 105 - 112
  • [6] HIGH-RE SOLUTIONS FOR INCOMPRESSIBLE-FLOW USING THE NAVIER STOKES EQUATIONS AND A MULTIGRID METHOD
    GHIA, U
    GHIA, KN
    SHIN, CT
    [J]. JOURNAL OF COMPUTATIONAL PHYSICS, 1982, 48 (03) : 387 - 411
  • [7] Guo Z, 2013, ADV COMPUT FLUID DYN, V3, P1, DOI 10.1142/8806
  • [8] Complex fluid simulations with the parallel tree-based Lattice Boltzmann solver Musubi
    Hasert, Manuel
    Masilamani, Kannan
    Zimny, Simon
    Klimach, Harald
    Qi, Jiaxing
    Bernsdorf, Joerg
    Roller, Sabine
    [J]. JOURNAL OF COMPUTATIONAL SCIENCE, 2014, 5 (05) : 784 - 794
  • [9] Taichi: A Language for High-Performance Computation on Spatially Sparse Data Structures
    Hu, Yuanming
    Li, Tzu-Mao
    Anderson, Luke
    Ragan-Kelley, Jonathan
    Durand, Fredo
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2019, 38 (06):
  • [10] Sailfish: A flexible multi-GPU implementation of the lattice Boltzmann method
    Januszewski, M.
    Kostur, M.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2014, 185 (09) : 2350 - 2368