Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
Author(s) -
Nugool Sataporn,
Worasait Suwannik,
Montri Maleewong
Publication year - 2021
Publication title -
modelling and simulation in engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.264
H-Index - 20
eISSN - 1687-5591
pISSN - 1687-5605
DOI - 10.1155/2021/9534495
Subject(s) - cuda , speedup , parallel computing , computer science , general purpose computing on graphics processing units , breakage , algorithm , computational science , graphics , computer graphics (images) , world wide web
Compute Unified Device Architecture (CUDA) implementations are presented of a well-balanced finite volume method for solving a shallow water model. The CUDA platform allows programs to run parallel on GPU. Four versions of the CUDA algorithm are presented in addition to a CPU implementation. Each version is improved from the previous one. We present the following techniques for optimizing a CUDA program: limiting register usage, changing the global memory access pattern, and using loop unroll. The accuracy of all programs is investigated in 3 test cases: a circular dam break on a dry bed, a circular dam break on a wet bed, and a dam break flow over three humps. The last parallel version shows 3.84x speedup over the first CUDA implementation. We use our program to simulate a real-world problem based on an assumed partial breakage of the Srinakarin Dam located in Kanchanaburi province, Thailand. The simulation shows that the strong interaction between massive water flows and bottom elevations under wet and dry conditions is well captured by the well-balanced scheme, while the optimized parallel program produces a 57.32x speedup over the serial version.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom