BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:America/Chicago
X-LIC-LOCATION:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20260522T150125Z
LOCATION:D175
DTSTART;TZID=America/Chicago:20181112T110000
DTEND;TZID=America/Chicago:20181112T113000
UID:submissions.supercomputing.org_SC18_sess176_ws_llvmf102@linklings.com
SUMMARY:Pointers Inside Lambda Closure Objects in OpenMP Target Offload Re
 gions
DESCRIPTION:David Truby (University of Warwick) and Steven Wright (Univers
 ity of York)\n\nWith the diversification of HPC architectures beyond tradi
 tional CPU-based clusters, a number of new frameworks for performance port
 ability across architectures have arisen. One way of implementing such fra
 meworks is to use C++ templates and lambda expressions to design loop-like
  functions. However, lower level programming APIs that these implementatio
 ns must use are often designed with C in mind and do not specify how they 
 interact with C++ features such as lambda expressions.\n\nThis paper discu
 sses a change to the behavior of the OpenMP specification with respect to 
 lambda expressions such that when functions generated by lambda expression
 s are called inside GPU regions, any pointers used in the lambda expressio
 n correctly refer to device pointers. This change has been implemented in 
 a branch of the Clang C++ compiler and demonstrated with two representativ
 e codes. This change has also been accepted into the draft OpenMP  specifi
 cation for inclusion in OpenMP 5. Our results show that the implicit mappi
 ng of lambda expressions always exhibits identical performance to an expli
 cit mapping but without breaking the abstraction provided by the high leve
 l frameworks.\n\nTag: Program Transformation, Programming Systems\n\nRegis
 tration Category: Workshop Reg Pass\n\n
END:VEVENT
END:VCALENDAR
