SIParCS 2016 - Samuel Elliott

Samuel Elliott, University of Colorado, Boulder

Implementation of a Scalable, Performance Portable Shallow Water Equation Solver Using Radial Basis Function Generated Finite Difference Methods

(Slides)  (Recorded Talk)

The 2D shallow water equations (SWEs) are a set of hyperbolic partial differential equations (PDEs) that are derived from depth integrating the Navier-Stokes equations. The SWEs are a valid approximation when the horizontal scale is much larger than the vertical scale, such being the case in modeling atmospheric dynamics. Numerical methods based on radial basis functions (RBFs) for solving PDEs are gaining in popularity because of their simplicity and their inherently “grid-free” nature.

When developing an HPC algorithm, scalability, performance and portability are essential. Many of the current standard atmospheric models lack particularly in the aspect of portability. OpenACC and OpenMP provide a directive based solution for generalization of thread-level parallelism, which can be utilized to address the portability aspect of the algorithm. A hybrid MPI/OpenMP/OpenACC implementation of a global 2D SWE solver using RBF generated finite difference (RBF-FD) methods has been developed and benchmarked on a variety of HPC architectures including Nvidia GPUs (Kepler) as well as Intel multicore (Xeon) and Intel manycore (Xeon Phi) systems. From these results we can demonstrate scalability and performance portability of the single-source model on the three architectures that dominate HPC systems today.

Mentors: Rich Loft, Natasha Flyer, Raghu Prasanna Kumar, CISL