Verified Scheduling Via High-Level Scheduling Rewrites
Name
Liu-lamanda-SM-EECS-2022-thesis.pdf.pdf
Description
Thesis PDF
Size
1.69 MB
Format
Adobe PDF
Checksum (MD5)
628e544447f2fa466b14ce5a6ce16a7d
Author(s)
Liu, Amanda
Advisor(s)
Chlipala, Adam
Ragan-Kelley, Jonathan
Date Issued
May 2022
Publisher
Massachusetts Institute of Technology
Abstract
I propose a lightweight Coq framework for optimizing tensor kernels written in a pure, functional array language. Optimizations rely on user scheduling using series of verified, semantics-preserving rewrites. Unusually for compilation targeting imperative code with arrays and nested loops, all rewrites are source-to-source within a purely functional language. This language comprises a set of core constructs for expressing high-level computation detail and a set of what we call reshape operators, which can be derived from core constructs but trigger low-level decisions about storage patterns and ordering. We will demonstrate that not only is this system capable of deriving the optimizations of existing state-of-the-art languages like Halide and generating comparably performant code, it is also able to schedule a family of useful program transformations beyond what is reachable in Halide.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright MIT
Persistent DSpace Link