DGSWEM-v2: Task-based Parallelism for Shallow Water Flows

Maximilian Bremer, University of Texas

Photo of Maximilian Bremer

The advent of exascale computing has introduced a massive increase in the amount of concurrency within modern supercomputers. The efficient utilization of these new architectures necessitates a change in programming models. We present a task-based implementation of a discontinuous Galerkin finite element method for the shallow water equations. The results have been implemented in a new C++ open-source project, called DGSWEM-v2, which is a discontinuous Galerkin fork of the ADCIRC, and parallelized using High Performance ParallelX (HPX). High Performance ParallelX is a task-based C++ runtime designed to execute lightweight threads while avoiding costly synchronizations. Performance studies will be presented on the latest architectures, including Intel's Knights Landing and Skylake chips. Particular emphasis will be placed on contrasting HPX's performance with a traditional MPI parallelization in order to provide practical insights.

Abstract Author(s): Max Bremer, Kazbek Kazhyken, Hartmut Kaiser, Craig Michoski, Clint Dawson