2010
DOI: 10.1007/978-3-642-13217-9_4
|View full text |Cite
|
Sign up to set email alerts
|

A Proposal for User-Defined Reductions in OpenMP

Abstract: Abstract. Reductions are commonly used in parallel programs to produce a global result from partial results computed in parallel. Currently, OpenMP only supports reductions for primitive data types and a limited set of base language operators. This is a significant limitation for those applications that employ userdefined data types (e. g., objects). Implementing manual reduction algorithms makes software development more complex and error-prone. Additionally, an OpenMP runtime system cannot optimize a manual … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
2
0

Year Published

2012
2012
2022
2022

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 6 publications
0
2
0
Order By: Relevance
“…That is, calculate a value from a whole collection, in this case, a minimum. Reduction is implemented in OpenMP by a special directive extension [17]. For instance, the next code shows the computation of the minimum distance and nearest point:…”
Section: An Openmp Simulatormentioning
confidence: 99%
“…That is, calculate a value from a whole collection, in this case, a minimum. Reduction is implemented in OpenMP by a special directive extension [17]. For instance, the next code shows the computation of the minimum distance and nearest point:…”
Section: An Openmp Simulatormentioning
confidence: 99%
“…OmpSs is representative for a commonly used parallel programming paradigm based on tasking. Further, its modular plug-in based design makes new directives (such as work-sharing directives for implicit tasking) and conceptual work on user-defined reductions OmpSs [12] easy to implement. Finally, its runtime features are beneficial for CachedPrivate, especially locality-aware task scheduling and dependency-aware task execution.…”
Section: Language Support In Ompssmentioning
confidence: 99%
“…OmpSs is representative for a commonly used parallel programming paradigm based on tasking. Further, its modular plug-in based design makes new directives (such as work-sharing directives for implicit tasking) and conceptual work on user-defined reductions [30] easy to implement. Finally, its runtime features are beneficial for Cached-Private, especially locality-aware task scheduling and dependency-aware task execution.…”
Section: Language Support In Ompssmentioning
confidence: 99%