Affiliation:
1. Adobe, USA
2. University of Washington, USA
3. Massachusetts Institute of Technology, USA
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.
Funder
U.S. Department of Energy
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference64 articles.
1. Apache Hive. http://hive.apache.org. Apache Hive. http://hive.apache.org.
2. Syntax-Guided Synthesis Competition. http://www.sygus. org. Syntax-Guided Synthesis Competition. http://www.sygus. org.
3. OpenTuner
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Snake: A Variable-length Chain-based Prefetching for GPUs;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28
2. C2TACO: Lifting Tensor Code to TACO;Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2023-10-22
3. mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR Using Program Synthesis;2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT);2023-10-21
4. Automatic Decomposition of a Sequential Algorithm for MapReduce Frameworks;2022 IEEE International Multi-Conference on Engineering, Computer and Information Sciences (SIBIRCON);2022-11-11
5. Katara: synthesizing CRDTs with verified lifting;Proceedings of the ACM on Programming Languages;2022-10-31