TY - GEN
T1 - Teaching parallel programming models on a shallow-water code
AU - Breuer, Alexander
AU - Bader, Michael
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
KW - CSE education
KW - CUDA
KW - MPI
KW - OpenMP
KW - parallel computing
KW - parallel programming models
KW - shallow water equations
UR - http://www.scopus.com/inward/record.url?scp=84870745783&partnerID=8YFLogxK
U2 - 10.1109/ISPDC.2012.48
DO - 10.1109/ISPDC.2012.48
M3 - Conference contribution
AN - SCOPUS:84870745783
SN - 9780769548050
T3 - Proceedings - 2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012
SP - 301
EP - 308
BT - Proceedings - 2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012
T2 - 2012 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012
Y2 - 25 June 2012 through 29 June 2012
ER -