Teaching Parallel Programming Models on a Shallow-Water Code
Department of Informatics, Technische Universitat Munchen, Germany
Technische Universitat Munchen, 2012
@article{breuer2012teaching,
title={Teaching Parallel Programming Models on a Shallow-Water Code},
author={Breuer, A. and Bader, M.},
year={2012}
}
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.
July 8, 2012 by hgpu