A proposal for task-generating loops in OpenMP
Document typeConference report
Rights accessRestricted access - publisher's policy
European Commisision's projectHIPEAC - High Performance and Embedded Architecture and Compilation (EC-FP7-287759)
With the addition of the OpenMP* tasking model, programmers are able to improve and extend the parallelization opportunities of their codes. Programmers can also distribute the creation of tasks using a worksharing construct, which allows the generation of work to be parallelized. However, while it is possible to create tasks inside worksharing constructs, it is not possible to distribute work when not all threads reach the same worksharing construct. We propose a new worksharing-like construct that removes this restriction: the taskloop construct. With this new construct, we can distribute work when executing in the context of an explicit task, a single, or a master construct, enabling us to explore new parallelization opportunities in our applications. Although we focus our current work on evaluating expressiveness rather than performance evaluation, we present some initial performance results using a naive implementation for the new taskloop construct based on a lazy task instantiation mechanism.
CitationTeruel, X. [et al.]. A proposal for task-generating loops in OpenMP. A: International Workshop on OpenMP. "OpenMP in the era of low power devices and accelerators: 9th International Workshop on OpenMP, IWOMP 2013: Canberra, ACT, Australia: September 16-18, 2013: proceedings". Canberra: Springer, 2013, p. 1-14.
|A Proposal for Task-Generating Loops in OpenMP.pdf||A Proposal for Task-Generating Loops in OpenMP||374.6Kb||Restricted access|