Array Program Transformation with Loo.py by Example: High-Order Finite Elements
dc.contributor.author | Klöckner, Andreas | |
dc.contributor.author | Wilcox, Lucas C. | |
dc.contributor.author | Warburton, T. | |
dc.date | 2016 | |
dc.date.accessioned | 2016-05-09T21:58:24Z | |
dc.date.available | 2016-05-09T21:58:24Z | |
dc.date.issued | 2016 | |
dc.identifier.citation | ARRAY'16 (June 14, 2016). Santa Barbara, CA, USA. | en_US |
dc.identifier.uri | http://hdl.handle.net/10945/48656 | |
dc.description | The article of record as published may be found at http://dx.doi.org/10.1145/ | en_US |
dc.description.abstract | To concisely and effectively demonstrate the capabilities of our program transformation system Loo.py, we examine a transformation path from two real-world Fortran subroutines as found in a weather model to a single high-performance computational kernel suitable for execution on modern GPU hardware. Along the transformation path, we encounter kernel fusion, vectorization, prefetching, parallelization, and algorithmic changes achieved by mechanized conversion between imperative and functional/substitution-based code, among a number more. We conclude with performance results that demonstrate the effects and support the effectiveness of the applied transformations. | en_US |
dc.description.sponsorship | US Navy ONR grant number N00014-14-1-0117 | en_US |
dc.description.sponsorship | National Science Foundation under grant numbers DMS-1418961 and CCF-1524433 | en_US |
dc.description.sponsorship | Nvidia Corporation | en_US |
dc.description.sponsorship | US Navy ONR grant numbers N00014-15-WX-01603 and N00014-13-1-0873 | en_US |
dc.format.extent | 8 p. | en_US |
dc.rights | This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. Copyright protection is not available for this work in the United States. | en_US |
dc.title | Array Program Transformation with Loo.py by Example: High-Order Finite Elements | en_US |
dc.type | Article | en_US |
dc.contributor.corporate | Naval Postgraduate School (U.S.) | en_US |
dc.subject.author | code generation | en_US |
dc.subject.author | high-level language | en_US |
dc.subject.author | GPU | en_US |
dc.subject.author | substitution rule | en_US |
dc.subject.author | embedded language | en_US |
dc.subject.author | high-performance | en_US |
dc.subject.author | program transformation | en_US |
dc.subject.author | OpenCL | en_US |
dc.description.funder | US Navy ONR grant number N00014-14-1-0117 | en_US |
dc.description.funder | National Science Foundation under grant numbers DMS-1418961 and CCF-1524433 | en_US |
dc.description.funder | US Navy ONR grant numbers N00014-15-WX-01603 and N00014-13-1-0873 | en_US |