Comparison of an Explicit and Implicit Time Integration Method on GPUs for Shallow Water Flows on Structured Grids

Journal Article (2023)
Author(s)

F.J.L. Buwalda (Deltares)

Erik de Goede (Deltares)

Maxim Knepflé ( Tygron)

K. Vuik (TU Delft - Delft Institute of Applied Mathematics)

Department
Delft Institute of Applied Mathematics
Copyright
© 2023 F.J.L. Buwalda, Erik de Goede, Maxim Knepflé, Cornelis Vuik
DOI related publication
https://doi.org/10.3390/w15061165
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 F.J.L. Buwalda, Erik de Goede, Maxim Knepflé, Cornelis Vuik
Department
Delft Institute of Applied Mathematics
Issue number
6
Volume number
15
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

The accuracy, stability and computational efficiency of numerical methods on central processing units (CPUs) for the depth-averaged shallow water equations were well covered in the literature. A large number of these methods were already developed and compared. However, on graphics processing units (GPUs), such comparisons are relatively scarce. In this paper, we present the results of comparing two time-integration methods for the shallow water equations on structured grids. An explicit and a semi-implicit time integration method were considered. For the semi-implicit method, the performance of several iterative solvers was compared. The implementation of the semi-implicit method on a GPU in this study was a novel approach for the shallow water equations. This also holds for the repeated red black (RRB) solver that was found to be very efficient on a GPU. Additionally, the results of both methods were compared with several CPU-based software systems for the shallow water flows on structured grids. On a GPU, the simulations were 25 to 75 times faster than on a CPU. Theory predicts an explicit method to be best suited for a GPU due to the higher level of inherent parallelism. It was found that both the explicit and the semi-implicit methods ran efficiently on a GPU. For very shallow applications, the explicit method was preferred because the stability condition on the time step was not very restrictive. However, for deep water applications, we expect the semi-implicit method to be preferred.