home | news | research | people | documentation | download | links | contact

Latest Version Available on GitHub

There have been numerous extensions and updates to the StreamIt compiler (and benchmark suite) since our last official release in 2007. Though we have not had a chance to bundle the latest version into a user-friendly package, all of our code is now available on GitHub.

To obtain the full system, two separate downloads are needed:

  1. Code. Available here on GitHub.
  2. Static data, including input/output traces, documentation, and other files. This is available via a 1.1 GB archive, hosted here. Download the file and uncompress it in place over the code repository.

If you are planning to do a critical evaluation of StreamIt's performance, we request that you please inform us prior to publishing your results. We are more than happy to help you to make sure that you are using the system correctly and obtaining the best performance possible. You can reach us at streamit@lists.csail.mit.edu.


StreamIt 2.1.1 (Older release)

If you are doing serious research or development with the StreamIt compiler, we recommend that you build upon our latest source code (see above). However, our older release bundle is likely easier to build and install. It may be sufficient if you are interested in exploring or experimenting with the language, or if you are reusing only our parser, interpreter, and simple static analyses, as opposed to our parallelization and code generation.

File Size Description
streamit-2.1.1.tar.gz 25 MB Binary distribution
streamit-src-2.1.1.tar.gz 29 MB Source distribution

Important note: this release did not incorporate our latest parallelization algorithm. The release uses the algorithm from our ASPLOS'02 paper rather than our ASPLOS'06 paper. Our latest algorithm performed 1.83x better (on the 16-core Raw architecture), though we are still porting it to commodity multicores.


Release Notes

The 2.1.1 release (January, 2007) offers new features and improved robustness over the initial public release. Major features are as follows:

  • Multi-threaded backend for multicores and clusters of workstations. (Performance fix in 2.1.1)
  • Support for dynamic rates and teleport messaging.
  • Faster uniprocessor implementation (up to 2X).
  • Faster and more memory-efficient Java library (up to 10X).
  • New benchmarks, including MPEG-2 (limited compiler support; full support in Java library).
  • Snapshot of cache optimizations and linear statespace analysis.
If you do not depend on multicore performance, then you may prefer to download a pre-installed version of StreamIt 2.1 for VMWare or Moka5. See links at the bottom of this page.


Installation

You may need to install some prerequisite tools or packages: C++ and C compilers, GNU utilities, Java 1.5, ANTLR (for source release only), FFTW libraries (optional: needed only for --linearpartition and --frequencyreplacement switches), and Raw infrastructure (optional: needed only for --raw switch to generate code for the Raw tiled architecture).

After downloading, unpack the tar file and read the INSTALL file for installation instructions. Note that while these releases work for most well-formed programs, there may be issues with the compiler we have not found yet, and there is limited error checking in the frontend. Read the README file in the release for more details on known shortcomings.


Older Releases

  • StreamIt 2.1. September, 2006.
      
    streamit-2.1.1.tar.gz 25 MB Binary distribution
    streamit-src-2.1.1.tar.gz 29 MB Source distribution
    StreamIt LivePC 1 GB Pre-installed in a Linux host, requires free Moka5 player
    streamit-vmware-appliance.zip 1.8 GB Pre-installed on Fedora Core 5, requires free VMWare player

  • StreamIt 2.0. October 20, 2003. 
        Download: [binary .tar.gz]  [source .tar.gz]
        Source release requires Jikes Java Compiler.