StreamIT: A Complier for Streaming Applications

Streaming programs represent an increasingly important and widespread class of applications that holds unprecedented opportunitie sfor high-impact compiler technology. Unlike sequential programs with obscured dependence information and complex communication patterns, a stream program is naturally wr...

Full description

Bibliographic Details
Main Authors: Thies, William F., Karczmarek, Michael, Gordon, Michael, Maze, David, Wong, Jeremy, Hoffmann, Henry, Brown, Matthew, Amarasinghe, Saman
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149311
_version_ 1811097366735880192
author Thies, William F.
Karczmarek, Michael
Gordon, Michael
Maze, David
Wong, Jeremy
Hoffmann, Henry
Brown, Matthew
Amarasinghe, Saman
author_facet Thies, William F.
Karczmarek, Michael
Gordon, Michael
Maze, David
Wong, Jeremy
Hoffmann, Henry
Brown, Matthew
Amarasinghe, Saman
author_sort Thies, William F.
collection MIT
description Streaming programs represent an increasingly important and widespread class of applications that holds unprecedented opportunitie sfor high-impact compiler technology. Unlike sequential programs with obscured dependence information and complex communication patterns, a stream program is naturally written as a set of concurrent filters with regular steady-state communication. The StreamIt language aims to provide a natural, high-level syntax that improves programmer productivity in the streaming domain. At the same time, the language imposes a hierarchical structure on the stream graph that enables novel representations and optimizations within the StreamIt compiler. We define the "stream dependence function," a fundamental relationship between the input channels of two filters in a stream graph. We also describe a suite of stream optimizations, a denotational semantics for validating these optimizations, and a novel phased scheduling algorithm for stream graphs. In addition, we have implemented a prototype of the StreamIt optimizing compiler that is showing promising results.
first_indexed 2024-09-23T16:58:34Z
id mit-1721.1/149311
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T16:58:34Z
publishDate 2023
record_format dspace
spelling mit-1721.1/1493112023-03-30T03:02:01Z StreamIT: A Complier for Streaming Applications Thies, William F. Karczmarek, Michael Gordon, Michael Maze, David Wong, Jeremy Hoffmann, Henry Brown, Matthew Amarasinghe, Saman Streaming programs represent an increasingly important and widespread class of applications that holds unprecedented opportunitie sfor high-impact compiler technology. Unlike sequential programs with obscured dependence information and complex communication patterns, a stream program is naturally written as a set of concurrent filters with regular steady-state communication. The StreamIt language aims to provide a natural, high-level syntax that improves programmer productivity in the streaming domain. At the same time, the language imposes a hierarchical structure on the stream graph that enables novel representations and optimizations within the StreamIt compiler. We define the "stream dependence function," a fundamental relationship between the input channels of two filters in a stream graph. We also describe a suite of stream optimizations, a denotational semantics for validating these optimizations, and a novel phased scheduling algorithm for stream graphs. In addition, we have implemented a prototype of the StreamIt optimizing compiler that is showing promising results. 2023-03-29T14:42:29Z 2023-03-29T14:42:29Z 2002-02 https://hdl.handle.net/1721.1/149311 MIT-LCS-TM-622 application/pdf
spellingShingle Thies, William F.
Karczmarek, Michael
Gordon, Michael
Maze, David
Wong, Jeremy
Hoffmann, Henry
Brown, Matthew
Amarasinghe, Saman
StreamIT: A Complier for Streaming Applications
title StreamIT: A Complier for Streaming Applications
title_full StreamIT: A Complier for Streaming Applications
title_fullStr StreamIT: A Complier for Streaming Applications
title_full_unstemmed StreamIT: A Complier for Streaming Applications
title_short StreamIT: A Complier for Streaming Applications
title_sort streamit a complier for streaming applications
url https://hdl.handle.net/1721.1/149311
work_keys_str_mv AT thieswilliamf streamitacomplierforstreamingapplications
AT karczmarekmichael streamitacomplierforstreamingapplications
AT gordonmichael streamitacomplierforstreamingapplications
AT mazedavid streamitacomplierforstreamingapplications
AT wongjeremy streamitacomplierforstreamingapplications
AT hoffmannhenry streamitacomplierforstreamingapplications
AT brownmatthew streamitacomplierforstreamingapplications
AT amarasinghesaman streamitacomplierforstreamingapplications