A task parallel implementation of a scattered node stencil-based solver for the shallow water equations
Tillenius, M., Larsson, E., Lehto, E., & Flyer, N. (2013). A task parallel implementation of a scattered node stencil-based solver for the shallow water equations. Proceedings Of The 6Th Swedish Workshop On Multicore Computing.
The shallow water equations (SWE) provide a basic model for atmospheric flow and are used as a standard benchmark problem for climate simulation codes. Solving the SWE globally is computationally challenging due to the problem size and the need to resolve local features at different scales. The pro... Show moreThe shallow water equations (SWE) provide a basic model for atmospheric flow and are used as a standard benchmark problem for climate simulation codes. Solving the SWE globally is computationally challenging due to the problem size and the need to resolve local features at different scales. The problem size can be partly addressed by parallel computing, whereas the local adaptivity is a methodological problem. Radial basis function-generated finite difference methods (RBF-FD) have been proposed as a competitor with great potential to the established discontinuous Galerkin and pseudo-spectral methods. In this work, we consider the parallel programming aspects of this problem. The RBF-FD method results in (unstructured) sparse matrix-vector operations, and is hence completely bandwidth bound. The basic algorithm consists of (explicit) time-stepping, which is data-parallel in the sense that the same operation is performed for all data, but also inflicts frequent (local) synchronization points. The problem has been implemented using a dependency-aware task-based programming model. We have used the library SuperGlue which provides a run-time system for dynamic scheduling of dependent tasks. For the problem sizes we have used, the algorithm scales well up to about 6 cores. Show less