NHR PerfLab Seminar: Discontinuous Galerkin Shallow-Water Simulations on FPGAs

Symbolic picture for the article. The link opens the image in a large view.

Speaker: Dr. Tobias Kenter (University of Paderborn)

Title: Discontinuous Galerkin Shallow-Water Simulations on FPGAs

Date and time: Tuesday, October 19, 2 p.m. – 3 p.m.

Shallow water simulations with the discontinuous Galerkin method are an important tool for flood predictions, tsunami warnings, or as part of climate models. Performance challenges involve the efficient mapping to parallel or heterogeneous hardware, and, in order to reach long simulation times, particularly strong scaling characteristics. In this work [1], we explore FPGAs as accelerators for this workload and present the first FPGA implementation of the full simulation pipeline of a shallow water code based on the discontinuous Galerkin method. Using OpenCL and following an algorithm-hardware co-design approach, the software reference is transformed into a dataflow architecture that can process a full mesh element per clock cycle. The novel projection approach on the algorithmic level complements the pipeline and memory optimizations in the hardware design. With this, the FPGA kernels for different polynomial orders outperform the CPU reference by 43x — 144x in a strong scaling benchmark scenario. A performance model can explain the measured FPGA performance of up to 717 GFLOPs accurately.
[1] https://dl.acm.org/doi/abs/10.1145/3468267.3470617


Video   (IdM login required)


Short Bio:
Tobias Kenter received his PhD from Paderborn University in 2016 on the topic of productivity for FPGAs through overlays, compilation approaches and tight coupling between FPGAs and CPUs. Since then he focused on the acceleration of scientific applications on FPGAs using OpenCL based development flows from Intel and Xilinx. As scientific advisor for FPGA acceleration at the Paderborn Center for Parallel Computing he strives to bring more applications to this exciting technology and is involved in planning and operation of production systems with FPGAs.