StreamIt Compiler Release

"Rodric M. Rabbah" <rabbah@mit.edu>
27 Oct 2003 16:12:17 -0500

          From comp.compilers

Related articles
StreamIt Compiler Release rabbah@mit.edu (Rodric M. Rabbah) (2003-10-27)
| List of all articles for this month |

From: "Rodric M. Rabbah" <rabbah@mit.edu>
Newsgroups: comp.compilers
Date: 27 Oct 2003 16:12:17 -0500
Organization: Compilers Central
Keywords: tools, available
Posted-Date: 27 Oct 2003 16:12:16 EST

Hi,


We are pleased to announce the first public release of the StreamIt
compilation infrastructure. StreamIt is a programming language and a
compilation infrastructure, engineered for modern streaming systems.


To download StreamIt, or for more information, please visit:


http://cag.csail.mit.edu/streamit/


The features of StreamIt 2.0 include:


    - Language constructs that improve programmer productivity for
        streaming, including hierarchical structured streams, graph
        parameterization, and circular buffer management.


    - An optimizing compiler infrastructure for the Raw microprocessor,
        with fully automatic load balancing, graph layout, communication
        scheduling, and routing.


    - A robust compilation infrastructure that compiles to an ANSI C
        runtime library for execution on a general-purpose uniprocessor.


    - A set of domain-specific optimizations for linear filters, in which
        each output is a weighted sum of the inputs (e.g., FIR, FFT, DCT).
        The analysis automatically detects linear filters and performs
        large-scale algebraic simplification of adjacent components, as well
        as automated translation into the frequency domain.


    - A dynamic programming partitioner that is used for load balancing
        (in the Raw backend) and optimization selection (for linear
        optimizations). The partitioner efficiently searches a large space
        of hierarchical stream configurations to optimize a given metric.


    - A minimal latency scheduler that leverages phased scheduling to
        produce a deadlock-free schedule for hierarchical stream graphs.
        Phased scheduling also offers a flexible tradeoff between code size
        and buffer size.


    - A high-level stream IR (in Java) with a host of graph transformations,
        including graph canonicalization, synchronization removal,
        refactoring of parallel components, fusion of adjacent filters
        (running in parallel or in sequence), and fission of individual
        filters (into data-parallel or task-parallel components.)


    - A set of benchmarks for the evaluation of streaming optimizations
        and architectures.


We are releasing StreamIt for both the user community and the developer
community. We look forward to interacting with you as you might start
to use or build upon the infrastructure.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.