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

Faculty

Researchers

Graduate Students

UROP/MEng

  • Nicholas Dow (UROP)
  • Aryan Kumar (UROP)
  • Maggie Liu (UROP)
  • Gabriela Miranda (UROP)
  • Steven Raphael (MEng)
  • Chaitanya Ravuri (MEng)
  • Tasmeem Reza (UROP)
  • Jonathan Zhou (UROP)
  • Ethan H Zhou (UROP)

Visiting Students

  • Katsumi Okuda (Visiting Researcher)

Featured Projects

  • BuildIt

    A framework for rapidly developing high-performance DSLs with little to no compiler knowledge.
  • The Tensor Compiler

    A compiler for sparse tensor algebra expressions.
  • Finch

    A compiler for next generation array programming.
  • GraphIt

    A high-performance language for graph analytics.
  • Next Generation Auto-vectorization

    Auto-vectorization research for the next generation of processors
  • Seq

    A Language for Bioinformatics
  • OpenTuner

    An extensible framework for program autotuning.
  • Halide

    A language for image processing and computational photography.
  • The Tiramisu Compiler

    A compiler for expressing fast, portable and composable data parallel computations.
  • StreamIt

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

    An efficient runtime code manipulation system.

Featured Publications

  1. A Deep Learning Based Cost Model for Automatic Code Optimization.
    Riyadh Baghdadi, Massinissa Merouani, Mohamed-Hicham Leghettas, Kamel Abdous, Taha Arbaoui, Karima Benatchba, Saman Amarasinghe.
    Proceedings of the Fourth Conference on Machine Learning and Systems (MLSys).
    Apr, 2021. Bibtex.
    Outstanding Paper Award.
  2. Automatic Generation of Efficient Sparse Tensor Format Conversion Routines.
    Stephen Chou, Fredrik Kjolstad, Saman Amarasinghe.
    Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).
    New York, NY, USA. Jun, 2020. Bibtex.
  3. goSLP: Globally Optimized Superword Level Parallelism Framework.
    Charith Mendis, Saman Amarasinghe.
    Proceedings of the ACM on Programming Languages (OOPSLA).
    New York, NY, USA. Oct, 2018. Bibtex.
  4. GraphIt: A High-performance Graph DSL.
    Yunming Zhang, Mengjiao Yang, Riyadh Baghdadi, Shoaib Kamil, Julian Shun, Saman Amarasinghe.
    Proceedings of the ACM on Programming Languages (OOPSLA).
    New York, NY, USA. Oct, 2018. Slides. Bibtex.
  5. Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code.
    Riyadh Baghdadi, Jessica Ray, Malek Ben Romdhane, Emanuele Del Sozzo, Abdurrahman Akkas, Yunming Zhang, Patricia Suriana, Shoaib Kamil, Saman Amarasinghe.
    Proceedings of the 2019 International Symposium on Code Generation and Optimization (CGO).
    Feb, 2019. Bibtex.
  6. The Tensor Algebra Compiler.
    Fredrik Kjolstad, Shoaib Kamil, Stephen Chou, David Lugato, Saman Amarasinghe.
    Proceedings of the ACM on Programming Languages (OOPSLA).
    New York, NY, USA. Oct, 2017. Bibtex.
    OOPSLA Distinguished Paper Award.
  7. 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. Mar, 2016. Bibtex.
  8. 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 (PACT).
    Edmonton, Canada. Aug, 2014. Slides. Bibtex.
  9. Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines.
    Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Fredo Durand, Saman Amarasinghe.
    ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).
    Seattle, WA. Jun, 2013. Bibtex.
    Most Influential PLDI Paper Award, PLDI 2023, Orlando, FL.
  10. 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.
  11. 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 (PLDI).
    Dublin, Ireland. Jun, 2009. Slides. Bibtex.
  12. 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.
  13. 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.
  14. 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 (ASPLOS).
    San Jose, CA. Oct, 2006. Slides. Bibtex.
  15. 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.
  16. Digital microfluidics using soft lithography.
    John Paul Urbanski, William Thies, Christopher Rhodes, Saman Amarasinghe, Todd Thorsen.
    Lab on a Chip.
    Jan, 2006. Bibtex.
  17. Exploiting Vector Parallelism in Software Pipelined Loops.
    Samuel Larsen, Rodric Rabbah, Saman Amarasinghe.
    International Symposium on Microarchitecture.
    Barcelona, Spain. Nov, 2005. Bibtex.
  18. 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 (PLDI).
    San Diego, CA. Jun, 2003. Bibtex.
  19. An Infrastructure for Adaptive Dynamic Optimization.
    Derek Bruening, Timothy Garnett, Saman Amarasinghe.
    International Symposium on Code Generation and Optimization.
    San Francisco. Mar, 2003. Bibtex.
  20. Secure Execution Via Program Shepherding.
    Vladimir Kiriansky, Derek Bruening, Saman Amarasinghe.
    MIT/LCS Technical Memo LCS-TM-625.
    Cambridge, MA. Feb, 2002. Bibtex.
  21. 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.
  22. 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.
Accessibility