Computing Reviews

Simulation of one-layer shallow water systems on multicore and CUDA architectures
De La Asunción M., Mantas J., Castro M. The Journal of Supercomputing58(2):206-214,2011.Type:Article
Date Reviewed: 03/05/12

Shallow water systems are used to model channels, dam breaks, ocean currents, and other geophysical flows. The models are formulated as systems of conservation laws and solved using numerical schemes that are computationally very demanding but have good parallelization potential through domain decomposition.

The compute unified device architecture (CUDA) implementation presented in this paper is a continuation of the authors’ earlier work on improving the performance of a first-order, well-balanced finite volume solver. As the solver algorithm has been presented previously in other papers, this time the authors focus more on the implementation details--usage of 2D texture versus shared memory, multiple accumulators, and threads representing either edges or cells, depending on the step of the algorithm--of their new CUDA solver. This is a reasonable choice, as often the details can have a big impact on the performance.

The execution times of the CUDA solver using single and double precision are compared with the central processing unit (CPU) versions (serial and OpenMP with four threads), as well as with an earlier graphics processing unit (GPU) implementation using the Cg shading language. The best speedup (more than 140 times over the serial CPU version) is achieved by a single precision CUDA solver, with a double precision CUDA solver being about seven times slower (its performance is probably limited by the memory bandwidth, as the authors mention earlier that a CUDA kernel cannot write directly to a texture, which means the results have to be written into a temporary array that needs to be copied to the texture for the next time-step calculations).

The paper concludes by proposing further work to extend the current implementation to irregular meshes and two-layer shallow water systems.

Reviewer:  Maciej Golebiewski Review #: CR139942 (1208-0855)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy