
The Library
Implicit mapping of pointers inside C++ Lambda closure objects in OpenMP target offload regions
Tools
Truby, David R., Bertolli, Carlo, Wright, Steven A., Bercea, Gheorghe-Teodor, O’Brien, Kevin and Jarvis, Stephen A. (2018) Implicit mapping of pointers inside C++ Lambda closure objects in OpenMP target offload regions. In: UK OpenMP Users' Conference 2018, St Catherine's College, Oxford, 21-22 May 2018 (Unpublished)
|
PDF
WRAP-implicit-mapping-pointers-inside-Lambda-closure-objects-OpenMP-Truby-2018.pdf - Accepted Version - Requires a PDF viewer. Download (349Kb) | Preview |
Official URL: http://www.openmp.org/slide/uk-openmp-user-confere...
Abstract
With the diversification of HPC architectures beyond traditional CPU-based clusters, a number of new frameworks for performance portability across architectures have arisen. One way of implementing such frameworks is to use C++ templates and lambda expressions to design loop-like functions. However, lower level programming APIs that these implementations must use are often designed with C in mind and do not specify how they interact with C++ features such as lambda expressions. This paper proposes a change to the behavior of the OpenMP specification with respect to lambda expressions such that when functions generated by lambda expressions are called inside GPU regions, any pointers used in the lambda expression correctly refer to device pointers. This change has been implemented in a branch of the Clang C++ compiler and demonstrated with two representative codes. Our results show that the implicit mapping of lambda expressions always exhibits identical performance to an explicit mapping but without breaking the abstraction provided by the high level frameworks, and therefore also reduces the burden on the application developer.
Item Type: | Conference Item (Lecture) | ||||
---|---|---|---|---|---|
Subjects: | Q Science > QA Mathematics > QA76 Electronic computers. Computer science. Computer software | ||||
Divisions: | Faculty of Science, Engineering and Medicine > Science > Computer Science | ||||
Library of Congress Subject Headings (LCSH): | High performance computing, C++ (Computer program language), Computer architecture, Application program interfaces (Computer software) | ||||
Official Date: | 26 February 2018 | ||||
Dates: |
|
||||
Status: | Peer Reviewed | ||||
Publication Status: | Unpublished | ||||
Access rights to Published version: | Restricted or Subscription Access | ||||
Date of first compliant deposit: | 1 March 2018 | ||||
Date of first compliant Open Access: | 2 March 2018 | ||||
Conference Paper Type: | Lecture | ||||
Title of Event: | UK OpenMP Users' Conference 2018 | ||||
Type of Event: | Conference | ||||
Location of Event: | St Catherine's College, Oxford | ||||
Date(s) of Event: | 21-22 May 2018 |
Request changes or add full text files to a record
Repository staff actions (login required)
![]() |
View Item |
Downloads
Downloads per month over past year