
The Library
Pointers inside 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. (2019) Pointers inside Lambda closure objects in OpenMP target offload regions. In: Fifth Workshop on the LLVM Compiler Infrastructure in HPC Workshop held in conjunction with SC18 , Dallas, Texas, USA, 12 Nov 2018. Published in: 2018 IEEE/ACM 5th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC) ISBN 9781728101897. doi:10.1109/LLVM-HPC.2018.8639410
|
PDF
WRAP-Pointers-Lambda-OpenMP-target-Jarvis-2018 (1).pdf - Accepted Version - Requires a PDF viewer. Download (455Kb) | Preview |
Official URL: http://doi.org/10.1109/LLVM-HPC.2018.8639410
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 discusses 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. This change has also been accepted into the draft OpenMP ® specification for inclusion in OpenMP 5. 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.
Item Type: | Conference Item (Paper) | ||||||
---|---|---|---|---|---|---|---|
Divisions: | Faculty of Science, Engineering and Medicine > Science > Computer Science | ||||||
Journal or Publication Title: | 2018 IEEE/ACM 5th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC) | ||||||
Publisher: | IEEE | ||||||
ISBN: | 9781728101897 | ||||||
Official Date: | 14 February 2019 | ||||||
Dates: |
|
||||||
DOI: | 10.1109/LLVM-HPC.2018.8639410 | ||||||
Status: | Peer Reviewed | ||||||
Publication Status: | Published | ||||||
Reuse Statement (publisher, data, author rights): | © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. | ||||||
Access rights to Published version: | Restricted or Subscription Access | ||||||
Date of first compliant deposit: | 9 November 2018 | ||||||
Date of first compliant Open Access: | 24 April 2019 | ||||||
Conference Paper Type: | Paper | ||||||
Title of Event: | Fifth Workshop on the LLVM Compiler Infrastructure in HPC Workshop held in conjunction with SC18 | ||||||
Type of Event: | Conference | ||||||
Location of Event: | Dallas, Texas, USA | ||||||
Date(s) of Event: | 12 Nov 2018 | ||||||
Related URLs: |
Request changes or add full text files to a record
Repository staff actions (login required)
![]() |
View Item |
Downloads
Downloads per month over past year