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
- The University of Queensland (AU)
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