Task inefficiency patterns for a wave equation solver
Holger Schulz, Gonzalo Brito Gadeschi, Oleksandr Rudyy and, Tobias Weinzierl

TL;DR
This paper analyzes task scheduling inefficiencies in OpenMP 5.0 when used with a wave equation solver across multiple architectures, identifying flaws, their performance impacts, workarounds, and proposing standard extensions.
Contribution
It identifies specific task-scheduling flaws in OpenMP 5.0 runtimes for wave equation solvers, demonstrating their impact and suggesting standard extensions to improve performance.
Findings
Identified key task-scheduling flaws affecting performance
Demonstrated performance impacts across three architectures
Proposed extensions to the OpenMP standard
Abstract
The orchestration of complex algorithms demands high levels of automation to use modern hardware efficiently. Task-based programming with OpenMP 5.0 is a prominent candidate to accomplish this goal. We study OpenMP 5.0's tasking in the context of a wave equation solver (ExaHyPE) using three different architectures and runtimes. We describe several task-scheduling flaws present in currently available runtimes, demonstrate how they impact performance and show how to work around them. Finally, we propose extensions to the OpenMP standard.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
