Teaching parallel programming models on a shallow-water code

Alexander Breuer, Michael Bader

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

16 Scopus citations

Abstract

We present a software package that supports teaching different parallel programming models in a computational science and engineering context. It implements a Finite Volume solver for the shallow water equations, with application to tsunami simulation in mind. The numerical model is kept simple, using patches of Cartesian grids as computational domain, which can be connected via ghost layers. The Finite Volume method is restricted to piecewise constant approximation in each grid cell, but the computation of fluxes between cells can be based on the simple Lax-Friedrichs method, as well as on versatile approximate Riemann solvers, which allows realistic simulations. We present how this code can be used to study parallelization with CUDA, MPI, OpenMP, and hybrid approaches - and is useful for both introductory lectures in parallel computing and more advanced courses.

Original languageEnglish
Title of host publicationProceedings - 2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012
Pages301-308
Number of pages8
DOIs
StatePublished - 2012
Event2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012 - Munich/Garching, Bavaria, Germany
Duration: 25 Jun 201229 Jun 2012

Publication series

NameProceedings - 2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012

Conference

Conference2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012
Country/TerritoryGermany
CityMunich/Garching, Bavaria
Period25/06/1229/06/12

Keywords

  • CSE education
  • CUDA
  • MPI
  • OpenMP
  • parallel computing
  • parallel programming models
  • shallow water equations

Fingerprint

Dive into the research topics of 'Teaching parallel programming models on a shallow-water code'. Together they form a unique fingerprint.

Cite this