Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA

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 ve...

Full description

Saved in:
Bibliographic Details
Main Authors: Nugool Sataporn, Worasait Suwannik, Montri Maleewong
Format: Article
Language:English
Published: Wiley 2021-01-01
Series:Modelling and Simulation in Engineering
Online Access:http://dx.doi.org/10.1155/2021/9534495
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1832557136347922432
author Nugool Sataporn
Worasait Suwannik
Montri Maleewong
author_facet Nugool Sataporn
Worasait Suwannik
Montri Maleewong
author_sort Nugool Sataporn
collection DOAJ
description 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.
format Article
id doaj-art-f1f3fd177a3540c5a2e58a17e1d6a511
institution Kabale University
issn 1687-5605
language English
publishDate 2021-01-01
publisher Wiley
record_format Article
series Modelling and Simulation in Engineering
spelling doaj-art-f1f3fd177a3540c5a2e58a17e1d6a5112025-02-03T05:43:39ZengWileyModelling and Simulation in Engineering1687-56052021-01-01202110.1155/2021/9534495Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDANugool Sataporn0Worasait Suwannik1Montri Maleewong2Department of Computer ScienceDepartment of Computer ScienceDepartment of MathematicsCompute 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.http://dx.doi.org/10.1155/2021/9534495
spellingShingle Nugool Sataporn
Worasait Suwannik
Montri Maleewong
Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
Modelling and Simulation in Engineering
title Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
title_full Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
title_fullStr Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
title_full_unstemmed Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
title_short Parallel Algorithms of Well-Balanced and Weighted Average Flux for Shallow Water Model Using CUDA
title_sort parallel algorithms of well balanced and weighted average flux for shallow water model using cuda
url http://dx.doi.org/10.1155/2021/9534495
work_keys_str_mv AT nugoolsataporn parallelalgorithmsofwellbalancedandweightedaveragefluxforshallowwatermodelusingcuda
AT worasaitsuwannik parallelalgorithmsofwellbalancedandweightedaveragefluxforshallowwatermodelusingcuda
AT montrimaleewong parallelalgorithmsofwellbalancedandweightedaveragefluxforshallowwatermodelusingcuda