We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

physics.comp-ph

Change to browse by:

References & Citations

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Physics > Computational Physics

Title: Cross-platform programming model for many-core lattice Boltzmann simulations

Abstract: We present a novel, hardware-agnostic implementation strategy for lattice Boltzmann (LB) simulations, which yields massive performance on homogeneous and heterogeneous many-core platforms. Based solely on C++17 Parallel Algorithms, our approach does not rely on any language extensions, external libraries, vendor-specific code annotations, or pre-compilation steps. Thanks in particular to a recently proposed GPU back-end to C++17 Parallel Algorithms, it is shown that a single code can compile and reach state-of-the-art performance on both many-core CPU and GPU environments for the solution of a given non trivial fluid dynamics problem. The proposed strategy is tested with six different, commonly used implementation schemes to test the performance impact of memory access patterns on different platforms. Nine different LB collision models are included in the tests and exhibit good performance, demonstrating the versatility of our parallel approach. This work shows that it is less than ever necessary to draw a distinction between research and production software, as a concise and generic LB implementation yields performances comparable to those achievable in a hardware specific programming language. The results also highlight the gains of performance achieved by modern many-core CPUs and their apparent capability to narrow the gap with the traditionally massively faster GPU platforms. All code is made available to the community in form of the open-source project "stlbm", which serves both as a stand-alone simulation software and as a collection of reusable patterns for the acceleration of pre-existing LB codes.
Comments: The STLBM library is available at this https URL (see the tag "benchmarks_plosone" to reproduce data published in this paper)
Subjects: Computational Physics (physics.comp-ph); Distributed, Parallel, and Cluster Computing (cs.DC)
Journal reference: PLoS One, Public Library of Science, 2021, 16, 1-29
DOI: 10.1371/journal.pone.0250306
Cite as: arXiv:2010.11751 [physics.comp-ph]
  (or arXiv:2010.11751v4 [physics.comp-ph] for this version)

Submission history

From: Christophe Coreixas [view email]
[v1] Thu, 22 Oct 2020 14:15:17 GMT (495kb,D)
[v2] Sat, 24 Oct 2020 20:11:08 GMT (498kb,D)
[v3] Thu, 28 Jan 2021 13:16:28 GMT (1594kb,D)
[v4] Sun, 9 May 2021 14:44:09 GMT (1595kb,D)

Link back to: arXiv, form interface, contact.