Building an Accelerated OpenFOAM Proof-of-Concept Application using Modern C++

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Malenza, Giulio, Stabile, Giovanni, Spiga, Filippo, Birke, Robert, Aldinucci, Marco
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912499762200576
author Malenza, Giulio
Stabile, Giovanni
Spiga, Filippo
Birke, Robert
Aldinucci, Marco
author_facet Malenza, Giulio
Stabile, Giovanni
Spiga, Filippo
Birke, Robert
Aldinucci, Marco
contents The modern trend in High-Performance Computing (HPC) involves the use of accelerators such as Graphics Processing Units (GPUs) alongside Central Processing Units (CPUs) to speed up numerical operations in various applications. Leading manufacturers such as NVIDIA, Intel, and AMD are constantly advancing these architectures, augmenting them with features such as mixed precision, enhanced memory hierarchies, and specialised accelerator silicon blocks (e.g., Tensor Cores on GPU or AMX/SME engines on CPU) to enhance compute performance. At the same time, significant efforts in software development are aimed at optimizing the use of these innovations, seeking to improve usability and accessibility. This work contributes to the state-of-the-art of OpenFOAM development by presenting a working Proof-Of-Concept application built using modern ISO C++ parallel constructs. This approach, combined with an appropriate compiler runtime stack, like the one provided by the NVIDIA HPC SDK, makes it possible to accelerate well-defined kernels, allowing multi-core execution and GPU offloading using a single codebase. The study demonstrates that it is possible to increase the performance of the OpenFOAM laplacianFoam application by offloading the computations on NVIDIA GPUs using the C++ parallel construct.
format Preprint
id arxiv_https___arxiv_org_abs_2507_18268
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Building an Accelerated OpenFOAM Proof-of-Concept Application using Modern C++
Malenza, Giulio
Stabile, Giovanni
Spiga, Filippo
Birke, Robert
Aldinucci, Marco
Mathematical Software
Performance
Programming Languages
The modern trend in High-Performance Computing (HPC) involves the use of accelerators such as Graphics Processing Units (GPUs) alongside Central Processing Units (CPUs) to speed up numerical operations in various applications. Leading manufacturers such as NVIDIA, Intel, and AMD are constantly advancing these architectures, augmenting them with features such as mixed precision, enhanced memory hierarchies, and specialised accelerator silicon blocks (e.g., Tensor Cores on GPU or AMX/SME engines on CPU) to enhance compute performance. At the same time, significant efforts in software development are aimed at optimizing the use of these innovations, seeking to improve usability and accessibility. This work contributes to the state-of-the-art of OpenFOAM development by presenting a working Proof-Of-Concept application built using modern ISO C++ parallel constructs. This approach, combined with an appropriate compiler runtime stack, like the one provided by the NVIDIA HPC SDK, makes it possible to accelerate well-defined kernels, allowing multi-core execution and GPU offloading using a single codebase. The study demonstrates that it is possible to increase the performance of the OpenFOAM laplacianFoam application by offloading the computations on NVIDIA GPUs using the C++ parallel construct.
title Building an Accelerated OpenFOAM Proof-of-Concept Application using Modern C++
topic Mathematical Software
Performance
Programming Languages
url https://arxiv.org/abs/2507.18268