English

Detrimental task execution patterns in mainstream OpenMP runtimes

Programming Languages 2024-09-23 v3 Distributed, Parallel, and Cluster Computing

Abstract

The OpenMP API offers both task-based and data-parallel concepts to scientific computing. While it provides descriptive and prescriptive annotations, it is in many places deliberately unspecific how to implement its annotations. As the predominant OpenMP implementations share design rationales, they introduce "quasi-standards how certain annotations behave. By means of a task-based astrophysical simulation code, we highlight situations where this "quasi-standard" reference behaviour introduces performance flaws. Therefore, we propose prescriptive clauses to constrain the OpenMP implementations. Simulated task traces uncover the clauses' potential, while a discussion of their realization highlights that they would manifest in rather incremental changes to any OpenMP runtime supporting task priorities.

Keywords

Cite

@article{arxiv.2406.03077,
  title  = {Detrimental task execution patterns in mainstream OpenMP runtimes},
  author = {Adam S. Tuft and Tobias Weinzierl and Michael Klemm},
  journal= {arXiv preprint arXiv:2406.03077},
  year   = {2024}
}
R2 v1 2026-06-28T16:54:13.423Z