The COMMIT Group

About Us

Commit (Compilers at MIT) is a research group led by Professor Saman Amarasinghe in the CSAIL research lab at MIT. The primary motivation of the Commit group is to discover novel approaches to improve the performance of modern computer systems without unduly increasing the complexity faced by application developers, compiler writers, or computer architects.

Current Members



Graduate Students


Visiting Students

  • Gueroudji Amal (Visiting)
  • Asma Balamane (Visiting)
  • Mohammed Henni (Visiting)
  • Thinhinane Ihadadene (Visiting)
  • Mekki Ilhem Isra (Visiting)
  • Hachilif Radja (Visiting)
  • Zina Taklit (Visiting)

Featured Projects

  • GraphIt

    A high-performance language for graph analytics.
  • The Tiramisu Compiler

    A compiler for expressing fast, portable and composable data parallel computations.
  • The Tensor Compiler

    A compiler for sparse tensor algebra expressions.
  • Simit

    A language for computing on sparse systems.
  • Halide

    A language for image processing and computational photography.
  • Helium

    Lifting stencil code from stripped x86 binaries to Halide DSL code
  • OpenTuner

    An extensible framework for program autotuning.
  • PetaBricks

    A language that exposes algorithmic choices to the compiler.
  • Kendo

    A Deterministic Multithreading library for commodity hardware.
  • StreamIt

    A high-performance language and compiler for streaming applications.
  • DynamoRIO

    An efficient runtime code manipulation system.
  • Umbra

    An Efficient and Scalable Memory Shadowing Framework

Featured Publications

  1. Tiramisu: A Code Optimization Framework for High Performance Systems.
    Riyadh Baghdadi, Jessica Ray, Malek Ben Romdhane, Emanuele Del Sozzo, Patricia Suriana, Abdurrahman Akkas, Shoaib Kamil, Yunming Zhang, Saman Amarasinghe.
    ArXiv e-prints.
    February, 2018. Bibtex.
  2. The Tensor Algebra Compiler.
    Fredrik Kjolstad, Shoaib Kamil, Stephen Chou, David Lugato, Saman Amarasinghe.
    Proceedings of the ACM on Programming Languages.
    New York, NY, USA. October, 2017. Bibtex.
  3. Simit: A Language for Physical Simulation.
    Fredrik Kjolstad, Shoaib Kamil, Jonathan Ragan-Kelley, David I. W. Levin, Shinjiro Sueda, Desai Chen, Etienne Vouga, Danny M. Kaufman, Gurtej Kanwar, Wojciech Matusik, Saman Amarasinghe.
    ACM Trans. Graph..
    New York, NY, USA. March, 2016. Bibtex.
  4. OpenTuner: An Extensible Framework for Program Autotuning.
    Jason Ansel, Shoaib Kamil, Kalyan Veeramachaneni, Jonathan Ragan-Kelley, Jeffrey Bosboom, Una-May O'Reilly, Saman Amarasinghe.
    International Conference on Parallel Architectures and Compilation Techniques.
    Edmonton, Canada. August, 2014. Slides. Bibtex.
  5. Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines.
    Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, Saman Amarasinghe.
    ACM SIGPLAN Conference on Programming Language Design and Implementation.
    Seattle, WA. June, 2013. Bibtex.
  6. Umbra: Efficient and Scalable Memory Shadowing.
    Qin Zhao, Derek Bruening, Saman Amarasinghe.
    The International Symposium on Code Generation and Optimization.
    Toronto, Canada. Apr, 2010. Slides. Bibtex.
  7. PetaBricks: A Language and Compiler for Algorithmic Choice.
    Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman, Saman Amarasinghe.
    ACM SIGPLAN Conference on Programming Language Design and Implementation.
    Dublin, Ireland. Jun, 2009. Slides. Bibtex.
  8. Kendo: Efficient Deterministic Multithreading in Software.
    Marek Olszewski, Jason Ansel, Saman Amarasinghe.
    The International Conference on Architectural Support for Programming Languages and Operating Systems.
    Washington, DC. Mar, 2009. Bibtex.
  9. A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs.
    William Thies, Vikram Chandrasekhar, Saman Amarasinghe.
    International Symposium on Microarchitecture.
    Chicago, IL. Dec, 2007. Slides. Bibtex.
  10. Exploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs.
    Michael I. Gordon, William Thies, Saman Amarasinghe.
    International Conference on Architectural Support for Programming Languages and Operating Systems.
    San Jose, CA. Oct, 2006. Slides. Bibtex.
  11. Optimizing Stream Programs Using Linear State Space Analysis.
    Sitij Agrawal, William Thies, Saman Amarasinghe.
    Int. Conf. on Compilers, Architecture, and Synthesis for Embedded Systems.
    San Francisco, CA. Sep, 2005. Slides. Bibtex.
  12. Digital microfluidics using soft lithography.
    John Paul Urbanski, William Thies, Christopher Rhodes, Saman Amarasinghe, Todd Thorsen.
    Lab on a Chip.
    Jan, 2006. Bibtex.
  13. Exploiting Vector Parallelism in Software Pipelined Loops.
    Samuel Larsen, Rodric Rabbah, Saman Amarasinghe.
    International Symposium on Microarchitecture.
    Barcelona, Spain. Nov, 2005. Bibtex.
  14. Meta Optimization: Improving Compiler Heuristics with Machine Learning.
    Mark Stephenson, Saman Amarasinghe, Martin C. Martin, Una-May O'Reilly.
    ACM SIGPLAN Conference on Programming Language Design and Implementation.
    San Diego, CA. Jun, 2003. Bibtex.
  15. An Infrastructure for Adaptive Dynamic Optimization.
    Derek Bruening, Timothy Garnett, Saman Amarasinghe.
    International Symposium on Code Generation and Optimization.
    San Francisco. Mar, 2003. Bibtex.
  16. Secure Execution Via Program Shepherding.
    Vladimir Kiriansky, Derek Bruening, Saman Amarasinghe.
    MIT/LCS Technical Memo LCS-TM-625.
    Cambridge, MA. Feb, 2002. Bibtex.
  17. Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams.
    Michael Taylor, Walter Lee, Jason Miller, David Wentzlaff, Ian Bratt, Benjamin Greenwald, Henry Hoffman, Paul Johnson, Jason Kim, James Psota, Arvind Saraf, Nathan Shnidman, Volker Strumpen, Matthew Frank, Saman Amarasinghe, Anant Agarwal.
    International Symposium on Computer Architecture.
    Munich, Germany. Jun, 2004. Bibtex.
  18. An Audio Wiki for Publishing User-Generated Content in the Developing World.
    Pratik Kotkar, William Thies, Saman Amarasinghe.
    HCI for Community and International Development (Workshop at CHI 2008).
    Florence, Italy. Apr, 2008. Bibtex.