TY - GEN
T1 - A prototype implementation of OpenMP task dependency support
AU - Ghosh, Priyanka
AU - Yan, Yonghong
AU - Eachempati, Deepak
AU - Chapman, Barbara
PY - 2013
Y1 - 2013
N2 - OpenMP 3.0 introduced the concept of asynchronous tasks, independent units of work that may be dynamically created and scheduled. Task synchronization is accomplished via the insertion of taskwait and barrier constructs. However, the inappropriate use of these constructs may incur significant overhead owing to global synchronizations for specific algorithms on large platforms. The performance of such algorithms may benefit substantially if a mechanism of specifying finer gained point-to-point synchronization between tasks is available. In this paper we present extensions to the current OpenMP task directive to enable the specification of dependencies among tasks. A task waits only until the explicit dependencies as specified by the programmer are satisfied, thereby enabling support for a dataflow model within OpenMP. We evaluate the extensions implemented in the OpenUH OpenMP compiler using LU decomposition and Smith-Waterman algorithms. By applying the extensions to the two algorithms, we demonstrate significant performance improvement over the standard tasking versions. When comparing our results with those obtained using related dataflow models - OmpSs and QUARK, we observed that the versions using our task extensions delivered an average speedup of 2-6x.
AB - OpenMP 3.0 introduced the concept of asynchronous tasks, independent units of work that may be dynamically created and scheduled. Task synchronization is accomplished via the insertion of taskwait and barrier constructs. However, the inappropriate use of these constructs may incur significant overhead owing to global synchronizations for specific algorithms on large platforms. The performance of such algorithms may benefit substantially if a mechanism of specifying finer gained point-to-point synchronization between tasks is available. In this paper we present extensions to the current OpenMP task directive to enable the specification of dependencies among tasks. A task waits only until the explicit dependencies as specified by the programmer are satisfied, thereby enabling support for a dataflow model within OpenMP. We evaluate the extensions implemented in the OpenUH OpenMP compiler using LU decomposition and Smith-Waterman algorithms. By applying the extensions to the two algorithms, we demonstrate significant performance improvement over the standard tasking versions. When comparing our results with those obtained using related dataflow models - OmpSs and QUARK, we observed that the versions using our task extensions delivered an average speedup of 2-6x.
UR - https://www.scopus.com/pages/publications/84883266282
U2 - 10.1007/978-3-642-40698-0_10
DO - 10.1007/978-3-642-40698-0_10
M3 - Conference contribution
AN - SCOPUS:84883266282
SN - 9783642406973
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 128
EP - 140
BT - OpenMP in the Era of Low Power Devices and Accelerators - 9th International Workshop on OpenMP, IWOMP 2013, Proceedings
T2 - 9th International Workshop on OpenMP in the Era of Low Power Devices and Accelerators, IWOMP 2013
Y2 - 16 September 2013 through 18 September 2013
ER -