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

external contributors


StreamIt is the result of several years of research and development and it incorporates the extended efforts of:

  • Saman Amarasinghe the fearless leader.

  • Michael Gordon leads the StreamIt multicore backend effort. He wrote the layout, communication scheduling, and code generation phases. He also worked on coding benchmarks, creating tools for syntax translation, code evaluation and debugging.

  • Robert Soulé is visiting MIT from NYU. He is working on novel language idioms and optimized code generation for dynamic behavior.

  • Eric Wong is adding support to the language and compiler for the representation of additional forms of stateful computation, such that more filters can be parallelized.


  • Bill Thies led the design of the StreamIt language and compiler. He built the high-level IR infrastructure and partitioning algorithms for load balancing and linear optimizations.

  • Michal Karczmarek built the StreamIt library and the scheduler, as well as the Makefile build system.

  • Rodric Rabbah contributed to the language design and compiler optimizations for DSPs, conventional processors, and computer grids.

  • Qiuyuan Jimmy Li mapped StreamIt onto the Cell processor.

  • Phil Sung mapped StreamIt onto Graphics Processing Units (GPUs).

  • Ceryen Tan improved the performance of the multicore backend, including support for dynamic load balancing.

  • David Zhang is building a lightweight streaming runtime library for the Cell processor.

  • Basier Aziz employed StreamIt to implement a mosaic image analysis (utilizing the RANSAC algorithm).

  • Allyn Dimock contributed to many aspects of the StreamIt compiler and development toolchain.

  • Kunal Agrawal implemented bit-level analysis and optimizations.

  • Sitij Agrawal developed applications in StreamIt, including a radar tracker. He also designed and implemented a suite of domain-specific optimizations for linear state-space filters, including combination of adjacent linear state-space filters.

  • Matt Drake implemented an MPEG-2 codec in StreamIt.

  • Shirley Fung implemented part of an MPEG-4 decoder in StreamIt.

  • Kimberly Kuo implemented a graphical debugger for StreamIt. It is integrated with the Eclipse development environment.

  • Matt Brown implemented applications in StreamIt, including an FM software radio.

  • Hank Hoffman from the Raw group helped with development, optimization and evaluation of applications (including FIR, MPEG-2, and others).

  • Jasper Lin worked on Filter optimizations as well as the current partitioners and the Raw backend. He also helped to design the new dynamic language features.

  • Andrew Lamb designed and implemented a suite of domain-specific optimizations for linear filters, including combination of adjacent linear filters and automated translation to the frequency domain. He also implemented our regression test framework, as well as several StreamIt applications.

  • Chris Leger implemented applications in StreamIt, including a vocoder with speech transformation.

  • David Maze implemented the new-syntax frontend and uniprocessor backend. He managed the StreamIt source and provided technical support to the rest of the team.

  • Ali S. Meli implemented applications in StreamIt, including part of the 3GPP physical layer.

  • Satish Ramaswamy implemented applications for StreamIt, and is currently investigating domain-specific optimizations.

  • Juan Reyes contributed the graph editor and tools for visualizing and editing StreamIt graphs.

  • Janis Sermulins designed and implemented cache optimizations for uniprocessor targets. He also implemented a backend that maps StreamIt to a cluster of workstations, including support for teleport messaging.

  • Jeremy Wong implemented applications in StreamIt, including a GSM decoder. He is currently working on characterizing the streaming application domain.

External Contributors

  • Mani Narayanan from UC Berkeley, independently designed and implemented an optimizing backend for the VIRAM processor. He also contributed versions of the FFT and BitonicSort benchmarks.