compiler.ai

Superoptimizer, Equivalence Checker, and Related Stuff

About

compiler.ai is a research effort at re-imagining the compilation infrastructure. We employ AI algorithms to automatically optimize programs. We employ formal verification techniques to generate confidence in the correctness of the optimizations. As our research matures, we intend to provide links to working demos and downloadable packages on this page.

OOElala

Programming languages like C and C++ leave the Order of Evaluation of operands in an expression unspecified. This provides optimization leverage, with resulting speedups as high as 2.6x on real-world code. This optimization opportunity was hitherto not exploited by modern compilers. Our optimizing compiler, OOElala, which is based onClang/LLVM, includes an algorithm to realize this latent performance opportunity. Please see the PLDI 2020 paper on OOElala for more details.

OOElala Demo and Examples

You can try OOElala for yourself here. Here are some pre-configured examples that demonstrate OOElala in action.

OOElala Download

OOElala source code is available at github.com/compilerai/ooelala-project.

Relevant Publications

Brief descriptions of these papers are available at this Github page.

Collaborate with us

We are looking for both young and accomplished researchers and engineers to work and/or collaborate with us. If you are interested in sharing the excitement and joy of participating in our efforts towards the creation of a new type of compilation infrastructure, here are some potential ways we can collaborate.
  • Collaborate with us remotely in our development efforts. If you are interested in such a collaboration, please send us a note. We would love to have a meaningful collaboration that may help all of us achieve our research goals faster. That said, we cannot accept all collaboration requests, as we need to carefully balance the synchronization and starting overheads with the benefits of collaborating. Such a collaboration would perhaps work best if you are already an expert working in this domain and you feel interested in knowing more about our efforts.
  • Join us at IIT Delhi either as visiting faculty, Postdoc, or PhD candidate.
  • Join us at IIT Delhi as a Research Associate for a minimum duration of eighteen months.
Please reach out to Sorav Bansal to take this conversation forward.

Acknowledgements: The online demo links are based on Compiler Explorer.