Modern Compilers Lab

Our lab explores the intersection between three areas: compilers, machine learning (ML), and high-performance computing.

One of our research directions is the development of compiler methods to accelerate compute-intensive applications such as machine learning, image processing, and scientific computing. For example, we develop compilers that take high-level code and automatically optimize it to generate highly efficient code. We use deep learning and reinforcement learning to automate code optimizations in compilers. We have successfully applied this to accelerate neural network training and inference.

Accelerating compute-intensive applications requires taking a holistic approach. This includes improving the whole stack of the application, from the algorithmic level down to the hardware level. We are also interested in exploring such improvements. An example of our work in this direction is the exploration of bio-inspired neural networks where the goal is to design more efficient bio-inspired neural network architectures and algorithms.

In the same direction, we also work on developing techniques to accelerate deep learning training and inference. For example, we use neural architecture search to search for efficient neural network architectures. Another example is exploiting weight sparsity in neural networks to accelerate inference. The goal is to enable the use of sophisticated DNN models in platforms with limited computational resources (smartphones, drones, robots, driverless cars, etc).