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:20260522T150118Z
LOCATION:D175
DTSTART;TZID=America/Chicago:20181111T113600
DTEND;TZID=America/Chicago:20181111T120000
UID:submissions.supercomputing.org_SC18_sess155_ws_waccpd105@linklings.com
SUMMARY:OpenACC Routine Directive Propagation Using Interprocedural Analys
 is
DESCRIPTION:Aniket Shivam (University of California, Irvine) and Michael W
 olfe (Nvidia Corporation)\n\nAccelerator programming today requires the pr
 ogrammer to specify what data to place in device memory, and what code to 
 run on the accelerator device. When programming with OpenACC, directives a
 nd clauses are used to tell the compiler what data to copy to and from the
  device, and what code to compile for and run on the device. In particular
 , the programmer inserts directives around code regions, typically loops, 
 to identify compute constructs to be compiled for and run on the device. I
 f the compute construct calls a procedure, that procedure also needs to ma
 rked for device compilation, as does any routine called in that procedure,
  and so on transitively. In addition, the marking needs to include the kin
 d of parallelism that is exploited within the procedure, or within routine
 s called by the procedure. When using separate compilation, the marking wh
 ere the procedure is defined must be replicated in any file where it is ca
 lled. This causes much frustration when first porting existing programs to
  GPU programming using OpenACC.\n\nThis paper presents an approach to part
 ially automate this process. The approach relies on interprocedural analys
 is (IPA) to analyze OpenACC regions and procedure definitions, and to prop
 agate the necessary information forward and backward across procedure call
 s spanning all the linked files, generating the required accelerator code 
 through recompilation at link time. This approach can also perform correct
 ness checks to prevent compilation or runtime errors. This method is imple
 mented in the PGI OpenACC compiler.\n\nTag: Accelerators, Heterogeneous Sy
 stems, Parallel Programming Languages, Libraries, and Models\n\nRegistrati
 on Category: Workshop Reg Pass\n\nSession Chairs: Sunita Chandrasekaran (U
 niversity of Delaware); Guido Juckeland (Helmholtz-Zentrum Dresden-Rossend
 orf (HZDR), TUD Dresden University of Technology); and Sandra Wienke (RWTH
  Aachen University)\n\n
END:VEVENT
END:VCALENDAR
