4.6 Article

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

期刊

APPLIED SCIENCES-BASEL
卷 11, 期 20, 页码 -

出版社

MDPI
DOI: 10.3390/app11209495

关键词

parallel programming; CUDA; GPU; LBM

资金

  1. NVIDIA Corporation

向作者/读者索取更多资源

The study analyzed the performance of an implementation based on a data-oriented language, showcasing the performance of a D2Q9 lattice solver on a GPU. While promising results were achieved, there were also issues with high and sometimes unpredictable overheads, particularly with sparse data structures.
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.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.6
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据