arXiv · 1604.08501
Array Program Transformation with Loo.py by Example: High-Order Finite Elements
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, prefetch- ing, 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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Andreas Klöckner, Lucas C. Wilcox, T. Warburton. 2016-04-13. Array Program Transformation with Loo.py by Example: High-Order Finite Elements. https://doi.org/10.1145/2935323.2935325
Cite the original work for its findings. Save a collection to share your selection of sources.