← Search

Data · dataset · 2026

Multi-GPU acceleration of PALABOS fluid solver using C++ standard parallelism

Listed in Teesside University Research Data Repository

This article presents the principles, software architecture, and performance analysis of the GPU port of the lattice Boltzmann software library Palabos [J. Latt et al., “Palabos: Parallel lattice Boltzmann solver”, Comput.

Description

Math. Appl. 81, 334-350, (2021)].

A hybrid CPU-GPU execution model is adopted, in which numerical components are selectively assigned to either the CPU or the GPU, depending on considerations of performance or convenience. This design enables a progressive porting strategy, allowing most features of the original CPU-based codebase to be gradually and seamlessly adapted to GPU execution. The new architecture builds upon two complementary paradigms: a classical object-oriented structure for CPU execution, and a data-oriented counterpart for GPUs, which reproduces the modularity of the original code while eliminating object-oriented overhead detrimental to GPU performance.

Read the rest (3 more)

Central to this approach is the use of modern C++, including standard parallel algorithms and template metaprogramming techniques, which permit the generation of hardware-agnostic computational kernels. This facilitates the development of user-defined, GPU-accelerated components such as collision operators or boundary conditions, while preserving compatibility with the existing codebase and avoiding the need for external libraries or non-standard language extensions.

The correctness and performance of the GPU-enabled Palabos are demonstrated through a series of three-dimensional multiphysics benchmarks, including the laminar-turbulent transition in a Taylor-Green vortex, lid-driven cavity flow, and pore-scale flow in Berea sandstone. Despite the high-level abstraction of the implementation, the single-GPU performance is similar to CUDA-native solvers, and multi-GPU tests exhibit good weak and strong scaling across all test cases.

Beyond the specific context of Palabos, the porting methodology illustrated here provides a generalizable framework for adapting large, complex C++ simulation codes to GPU architectures, while maintaining extensibility, maintainability, and high computational performance.

Links

Where it is published

Catalogue records · 1

Topics

Inferred from text
Simulation 75%
Provenance · 1 source records, 9 field assertions
SourceKeyLast seenRaw
Teesside University Research Data Repositoryoai:data.mendeley.com/cx7j83pr69.116 h agoJSON v1
FieldAssertionExtractorEvidence
concepts[field].anzsrc:field:401204mapping · researchdata tees ac ukvocabulary-mapper@1.0.0keywords['Computational Fluid Dynamics']
concepts[field].anzsrc:field:460607mapping · researchdata tees ac ukvocabulary-mapper@1.0.0keywords['High Performance Computing']
concepts[field].local:field:earth-environmentalmapping · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0
concepts[field].local:field:physicsmapping · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0
concepts[method].local:method:simulationenrichment · researchdata tees ac ukkeyword-concept-rules@1.0.0title+description (75%)
descriptionsource · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0/metadata/dc/description
license_textsource · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0
publication_datesource · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0
titlesource · researchdata tees ac ukconnector:researchdata_tees_ac_uk@1.0.0/metadata/dc/title