Verified Scheduling Via High-Level Scheduling Rewrites

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 rewri...

Full description

Bibliographic Details
Main Author: Liu, Amanda
Other Authors: Chlipala, Adam
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/144722
https://orcid.org/ 0000-0001-5549-9177
_version_ 1826199165571432448
author Liu, Amanda
author2 Chlipala, Adam
author_facet Chlipala, Adam
Liu, Amanda
author_sort Liu, Amanda
collection MIT
description 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.
first_indexed 2024-09-23T11:15:46Z
format Thesis
id mit-1721.1/144722
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T11:15:46Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1447222022-08-30T03:43:03Z Verified Scheduling Via High-Level Scheduling Rewrites Liu, Amanda Chlipala, Adam Ragan-Kelley, Jonathan Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science 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. S.M. 2022-08-29T16:07:12Z 2022-08-29T16:07:12Z 2022-05 2022-06-21T19:25:47.865Z Thesis https://hdl.handle.net/1721.1/144722 https://orcid.org/ 0000-0001-5549-9177 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Liu, Amanda
Verified Scheduling Via High-Level Scheduling Rewrites
title Verified Scheduling Via High-Level Scheduling Rewrites
title_full Verified Scheduling Via High-Level Scheduling Rewrites
title_fullStr Verified Scheduling Via High-Level Scheduling Rewrites
title_full_unstemmed Verified Scheduling Via High-Level Scheduling Rewrites
title_short Verified Scheduling Via High-Level Scheduling Rewrites
title_sort verified scheduling via high level scheduling rewrites
url https://hdl.handle.net/1721.1/144722
https://orcid.org/ 0000-0001-5549-9177
work_keys_str_mv AT liuamanda verifiedschedulingviahighlevelschedulingrewrites