StreamIt Compiler Release

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to


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: /

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.

Site Timeline