Treffer: Enhancing OpenMP tasking model: performance and portability

Title:
Enhancing OpenMP tasking model: performance and portability
Contributors:
Universitat Politècnica de Catalunya. Doctorat en Arquitectura de Computadors, Barcelona Supercomputing Center
Publisher Information:
Springer
Publication Year:
2021
Collection:
Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge
Document Type:
Konferenz conference object
File Description:
15 p.; application/pdf
Language:
English
Relation:
https://link.springer.com/chapter/10.1007/978-3-030-85262-7_3; info:eu-repo/grantAgreement/EC/H2020/871669/EU/A Model-driven development framework for highly Parallel and EneRgy-Efficient computation supporting multi-criteria optimisation/AMPERE; http://hdl.handle.net/2117/351422
DOI:
10.1007/978-3-030-85262-7_3
Rights:
Open Access
Accession Number:
edsbas.7FBBB229
Database:
BASE

Weitere Informationen

OpenMP, as the de-facto standard programming model in symmetric multiprocessing for HPC, has seen its performance boosted continuously by the community, either through implementation enhancements or specification augmentations. Furthermore, the language has evolved from a prescriptive nature, as defined by the thread-centric model, to a descriptive behavior, as defined by the task-centric model. However, the overhead related to the orchestration of tasks is still relatively high. Applications exploiting very fine-grained parallelism and systems with a large number of cores available might fail on scaling. In this work, we propose to include the concept of Task Dependency Graph (TDG) in the specification by introducing a new clause, named taskgraph, attached to task or target directives. By design, the TDG allows alleviating the overhead associated with the OpenMP tasking model, and it also facilitates linking OpenMP with other programming models that support task parallelism. According to our experiments, a GCC implementation of the taskgraph is able to significantly reduce the execution time of fine-grained task applications and increase their scalability with regard to the number of threads. ; This work has been supported by the EU H2020 project AMPERE under the grant agreement no. 871669. ; Peer Reviewed ; Postprint (author's final draft)