Comparison of GPU programming models for computational fluid dynamics

Abstract: The performance portability of two GPU programming models is compared for compressible Computational Fluid Dynamics. The first model is plain CUDA, and the second is a performance portability library called Kokkos. Kokkos abstracts the details of how the inherent parallelism of the algorithm is mapped to a particular piece of hardware, allowing for performant code on multiple architectures with minimal effort on behalf of the application developer. The programming models are compared based on their performance simulating gaseous injection into a hypersonic cross flow, and on the maintainability of the code. The Kokkos-based code was found to perform better across more architectures than the plain CUDA code. In addition, the overhead encountered using Kokkos to abstract away details of the parallelism was small compared to algorithm design and memory access patterns. Therefore, it is better to let Kokkos manage the specifics of the GPU programming while focusing on the code and algorithm design and physics. Keywords: Navier-Stokes equations, GPU, Programming models

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-12-01
DOI
https://doi.org/10.5281/zenodo.14213580
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Comparison of GPU programming models for computational fluid dynamics

Zenodo (CERN European Organization for Nuclear Research)
Parallel Computing and Optimization Techniques
article

Comparison of GPU programming models for computational fluid dynamics

article en

Abstract

Abstract: The performance portability of two GPU programming models is compared for compressible Computational Fluid Dynamics. The first model is plain CUDA, and the second is a performance portability library called Kokkos. Kokkos abstracts the details of how the inherent parallelism of the algorithm is mapped to a particular piece of hardware, allowing for performant code on multiple architectures with minimal effort on behalf of the application developer. The programming models are compared based on their performance simulating gaseous injection into a hypersonic cross flow, and on the maintainability of the code. The Kokkos-based code was found to perform better across more architectures than the plain CUDA code. In addition, the overhead encountered using Kokkos to abstract away details of the parallelism was small compared to algorithm design and memory access patterns. Therefore, it is better to let Kokkos manage the specifics of the GPU programming while focusing on the code and algorithm design and physics. Keywords: Navier-Stokes equations, GPU, Programming models

Zenodo (CERN European Organization for Nuclear Research)
The University of Queensland (AU)
Openalex Percentile: Top 59%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Comparison of GPU programming models for computational fluid dynamics · Zenodo (CERN European Organization for Nuclear Research) (2024) | TGRS Research Map | TGRS