Programming CUDA-based GPUs to simulate two-layer shallow water flows

  • Authors:
  • Marc de la Asunción;José M. Mantas;Manuel J. Castro

  • Affiliations:
  • Dpto. Lenguajes y Sistemas Informáticos, Universidad de Granada;Dpto. Lenguajes y Sistemas Informáticos, Universidad de Granada;Dpto. Análisis Matemático, Universidad de Málaga

  • Venue:
  • Euro-Par'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part II
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The two-layer shallow water system is used as the numerical model to simulate several phenomena related to geophysical flows such as the steady exchange of two different water flows, as occurs in the Strait of Gibraltar, or the tsunamis generated by underwater landslides. The numerical solution of this model for realistic domains imposes great demands of computing power and modern Graphics Processing Units (GPUs) have demonstrated to be a powerful accelerator for this kind of computationally intensive simulations. This work describes an accelerated implementation of a first order well-balanced finite volume scheme for 2D two-layer shallow water systems using GPUs supporting the CUDA (Compute Unified Device Architecture) programming model and double precision arithmetic. This implementation uses the CUDA framewok to exploit efficiently the potential fine-grain data parallelism of the numerical algorithm. Two versions of the GPU solver are implemented and studied: one using both single and double precision, and another using only double precision. Numerical experiments show the efficiency of this CUDA solver on several GPUs and a comparison with an efficient multicore CPU implementation of the solver is also reported.