Verified lifting of stencil computations
Name
Solar-Lezama_Verified lifting.pdf
Size
395.6 KB
Format
Adobe PDF
Checksum (MD5)
91315f8ee952e7395ce219d86f989bc3
Author(s) • • •
Kamil, Shoaib
Cheung, Alvin
Itzhaky, Shachar
Solar Lezama, Armando
Date Issued
June 2016
Journal
Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2016
Publisher
Association for Computing Machinery (ACM)
Citation
Kamil, Shoaib, Alvin Cheung, Shachar Itzhaky, and Armando Solar-Lezama. “Verified Lifting of Stencil Computations.” Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2016 (2016).
Version
Author's final manuscript
Abstract
This paper demonstrates a novel combination of program synthesis and verification to lift stencil computations from low-level Fortran code to a high-level summary expressed using a predicate language. The technique is sound and mostly automated, and leverages counter-example guided inductive synthesis (CEGIS) to find provably correct translations. Lifting existing code to a high-performance description language has a number of benefits, including maintainability and performance portability. For example, our experiments show that the lifted summaries can enable domain specific compilers to do a better job of parallelization as compared to an off-the-shelf compiler working on the original code, and can even support fully automatic migration to hardware accelerators such as GPUs. We have implemented verified lifting in a system called STNG and have evaluated it using microbenchmarks, mini-apps, and real-world applications. We demonstrate the benefits of verified lifting by first automatically summarizing Fortran source code into a high-level predicate language, and subsequently translating the lifted summaries into Halide, with the translated code achieving median performance speedups of 4.1X and up to 24X for non-trivial stencils as compared to the original implementation.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2908080.2908117