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:20181221T160727Z
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:Workshop\nProgram Transformation, Programming Systems, Worksho
 p Reg Pass\n\nPointers Inside Lambda Closure Objects in OpenMP Target Offl
 oad Regions\n\nTruby, Wright\n\nWith the diversification of HPC architectu
 res beyond traditional CPU-based clusters, a number of new frameworks for 
 performance portability across architectures have arisen. One way of imple
 menting such frameworks is to use C++ templates and lambda expressions to 
 design loop-like functions. However, lower level programming APIs that the
 se implementations must use are often designed with C in mind and do not s
 pecify how they interact with C++ features such as lambda expressions.\n\n
 This paper discusses a change to the behavior of the OpenMP specification 
 with respect to lambda expressions such that when functions generated by l
 ambda 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 t
 wo representative codes. This change has also been accepted into the draft
  OpenMP  specification for inclusion in OpenMP 5. Our results show that th
 e implicit mapping of lambda expressions always exhibits identical perform
 ance to an explicit mapping but without breaking the abstraction provided 
 by the high level frameworks.
URL:https://sc18.supercomputing.org/presentation/?id=ws_llvmf102&sess=sess
 176
END:VEVENT
END:VCALENDAR

