Simulation of one-layer shallow water systems on multicore and CUDA architectures
- 175 Downloads
The numerical solution of shallow water systems is useful for several applications related to geophysical flows, but the big dimensions of the domains suggests the use of powerful accelerators to obtain numerical results in reasonable times. This paper addresses how to speed up the numerical solution of a first order well-balanced finite volume scheme for 2D one-layer shallow water systems by using modern Graphics Processing Units (GPUs) supporting the NVIDIA CUDA programming model. An algorithm which exploits the potential data parallelism of this method is presented and implemented using the CUDA model in single and double floating point precision. Numerical experiments show the high efficiency of this CUDA solver in comparison with a CPU parallel implementation of the solver and with respect to a previously existing GPU solver based on a shading language.
KeywordsGeneral Purpose computation on Graphics Processing Units (GPGPU) Shallow water systems OpenMP CUDA
Unable to display preview. Download preview PDF.
- 3.Chapman B, Jost G, van der Pas R (2007) Using OpenMP: portable shared memory parallel programming. The MIT Press, Cambridge Google Scholar
- 4.Eigen 2.0.9. http://eigen.tuxfamily.org. Accessed November 2009
- 5.Fernando R, Kilgard MJ (2003) The Cg tutorial: the definitive guide to programmable real-time graphics. Addison-Wesley, Reading Google Scholar
- 8.NVIDIA. CUDA Zone. http://www.nvidia.com/object/cuda_home.html. Accessed November 2009
- 9.Rumpf M, Strzodka R (2006) Graphics Processor Units: New Prospects for Parallel Computing. In: Lecture notes in computational science and engineering, vol. 51. Springer, Berlin, pp 89–132 Google Scholar
- 10.Shreiner D, Woo M, Neider J, Davis T (2007) OpenGL programming guide: the official guide to learning OpenGL, Version 2.1. Addison-Wesley Professional, Reading Google Scholar