TY - GEN
T1 - Suspending OpenMP Tasks on Asynchronous Events
T2 - Proceedings of the 19th International Workshop on OpenMP, IWOMP 2023
AU - Pereira, Romain
AU - Martin, Maël
AU - Roussel, Adrien
AU - Carribault, Patrick
AU - Gautier, Thierry
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023/1/1
Y1 - 2023/1/1
N2 - Many-core and heterogeneous architectures now require programmers to compose multiple asynchronous programming model to fully exploit hardware capabilities. As a shared-memory parallel programming model, OpenMP has the responsibility of orchestrating the suspension and progression of asynchronous operations occurring on a compute node, such as MPI communications or CUDA/HIP streams. Yet, specifications only come with the task detach(event) API to suspend tasks until an asynchronous operation is completed, which presents a few drawbacks. In this paper, we introduce the design and implementation of an extension on the taskwait construct to suspend a task until an asynchronous event completion. It aims to reduce runtime costs induced by the current solution, and to provide a standard API to automate portable task suspension solutions. The results show twice less overheads compared to the existing task detach clause.
AB - Many-core and heterogeneous architectures now require programmers to compose multiple asynchronous programming model to fully exploit hardware capabilities. As a shared-memory parallel programming model, OpenMP has the responsibility of orchestrating the suspension and progression of asynchronous operations occurring on a compute node, such as MPI communications or CUDA/HIP streams. Yet, specifications only come with the task detach(event) API to suspend tasks until an asynchronous operation is completed, which presents a few drawbacks. In this paper, we introduce the design and implementation of an extension on the taskwait construct to suspend a task until an asynchronous event completion. It aims to reduce runtime costs induced by the current solution, and to provide a standard API to automate portable task suspension solutions. The results show twice less overheads compared to the existing task detach clause.
KW - Asynchronous Programming
KW - Dependent Task
KW - MPI
KW - OpenMP
UR - https://www.scopus.com/pages/publications/85172112713
U2 - 10.1007/978-3-031-40744-4_5
DO - 10.1007/978-3-031-40744-4_5
M3 - Conference contribution
AN - SCOPUS:85172112713
SN - 9783031407437
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 66
EP - 80
BT - OpenMP
A2 - McIntosh-Smith, Simon
A2 - Deakin, Tom
A2 - Klemm, Michael
A2 - de Supinski, Bronis R.
A2 - Klinkenberg, Jannis
PB - Springer Science and Business Media Deutschland GmbH
Y2 - 13 September 2023 through 15 September 2023
ER -