Task-based execution of nested OpenMP loops

2Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In this work we propose a novel technique to reduce the overheads related to nested parallel loops in OpenMP programs. In particular we show that in many cases it is possible to replace the code of a nested parallel-for loop with equivalent code that creates tasks instead of threads, thereby limiting parallelism levels while allowing more opportunities for runtime load balancing. In addition we present the details of an implementation of this technique that is able to perform the whole procedure completely transparently. We have experimented extensively to determine the effectiveness of our methods. The results show the actual performance gains we obtain (up to 25% in a particular application) as compared to other OpenMP implementations that are forced to suffer nested parallelism overheads. © 2012 Springer-Verlag.

Cite

CITATION STYLE

APA

Agathos, S. N., Hadjidoukas, P. E., & Dimakopoulos, V. V. (2012). Task-based execution of nested OpenMP loops. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7312 LNCS, pp. 210–222). https://doi.org/10.1007/978-3-642-30961-8_16

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free