Performance Optimization for the SYCL implementation of UTBEST

Applicant

Prof. Dr. Vadym Aizinger
Chair of Scientific Computing
University of Bayreuth

Project Overview

The simulation of ocean currents, tides and coastal ocean circulation is an important field of research and as a common model the shallow water equations (SWE) are used. One efficient approach to discretize the SWE is the discontinuous Galerkin (DG) method due to its parallelizability, its ability to use high-order approximation spaces, its robustness for problems with shocks but also due to its natural support for h- and p-adaptivity. UTBEST is an implementation of a modal DG method to solve the 2D SWE on unstructured grids.

The original implementation of UTBEST was developed around 2000 and only runs on CPUs. Recently, this implementation has successfully been ported to FPGAs using OpenCL. A SYCL implementation of UTBEST has been developed to target CPUs, GPUs and FPGAs from a shared code base. Preliminary measurements demonstrate that this implementation already provides good scalability.

For this project, we want to obtain a better understanding of performance characteristics and bottlenecks on CPUs and GPUs. In particular, we want to separately optimize the implementation CPUs and GPUs to get an idea of what would be possible to obtain on the respective hardware.