“Today’s compilers look very similar to the compilers of 30 years ago. One thing I am pushing hard these days is how we can bring compilers up to date,” says Professor Saman Amarasinghe of MIT CSAIL, “with modern systems like machine learning, modern solvers, modern algorithms. How can we make compilers a lot more efficient, a lot more reliable, and a lot faster?”

Prof. Amarasinghe, who leads the Commit research group in CSAIL, has spent much of his career maximizing application performance on modern computing platforms, especially with the end of Moore’s Law on the near horizon. “If we want to keep the Moore’s law momentum going in computing, we have to do something different,” he says, such as optimizing computing power for domains like image processing, image compression, signal processing, machine learning, and computational biology.

“In many of these domains, there are researchers who want to do research in that domain, from image processing to quantum chromodynamics,” he says, “but they have such heavy computational requirements that the researchers are spending much of their time not doing research but writing and optimizing code to get the performance needed to get the science done. I want to make it easier for them by using domain-specific and high-performance compilers, so they will get the performance they need to do their experiments.”

His work with compilers includes pioneering the application of machine learning for compiler optimization. Typically, a compiler takes a high-level programming language and maps it into low-level assembly code, which Prof. Amarasinghe says is basically a search problem. “There are billions of ways to generate different assembly sequences that will probably be the fastest way to run that piece of code,” he explains. “Till now, the state of the art was to write a bunch of heuristics. The problem is, some of these heuristics are 20 years old. Because compilers are so big, it’s very hard to keep updating these heuristics every time a new machine comes out.”

Microprocessor companies are now spending billions of dollars to introduce machine learning instructions to their systems, only to be limited by compiler capabilities. “However, if you can build a compiler that can learn how to optimize, how to generate code, we have shown that it’s possible for the compiler to learn how to generate these pieces of code,” says Prof. Amarasinghe. “We can keep up to date with all these changes happening in architecture, all these ways of separating the languages, by learning to do that. You can be a lot more responsive to changes by building a compiler using machine learning than with a compiler that has a lot of human-written heuristics.”

It is this focus on performance engineering that has led to many opportunities for teaching new generations of programmers and collaborating with industry, and even starting companies of his own—he founded Determina, Inc., which was acquired by VMWare in 2007, and co-founded Lanka Internet Services, Ltd., which was the first internet service provider in Sri Lanka.

As the Faculty Director of MIT Global Startup Labs, Prof. Amarasinghe also gives MIT students opportunities for hands-on entrepreneurial experience in tech. The students are sent to developing countries, where they spend about eight weeks in a university or similar setting, training 20 to 40 local aspiring entrepreneurs on how to start a technology company. The MIT students also build a prototype and present a business model around it.

Over the years, MIT Global Startup Labs has helped entrepreneurs in many different countries launch successful startups. The MIT students have sessions with the local computer science entrepreneurs, and then often invite business and government leaders to the presentations. By the end of the program, many of these aspiring entrepreneurs have found sponsors for their work to take their products to the next level. “I think the MIT students get a lot out of it too,” says Prof. Amarasinghe. “When they land in a developing country, they suddenly become the experts in their area. In fact, I have seen the prime ministers of countries talking to our students, asking them how they should encourage entrepreneurship in their countries.”

Beyond his inspiring work with MIT students and those around the globe, he enjoys being a part of CSAIL and CSAIL Alliances. “CSAIL is an amazing place,” he says, describing it as a kind of beehive. “Everybody’s thinking about some new idea. There are so many things that are even beyond the imagination of science fiction happening all around you.” He finds CSAIL Alliances helpful, because he wants his research to be useful for people.

“A lot of people do research because there’s some beauty in what they’re doing, or they’re pushing a boundary. I want to do things that will be useful, and what CSAIL Alliances has provided to me is people who have the need.”

For example, he and his research group have been working with CSAIL industry member Toyota. “We have this project called Taco, which is the Tensor Algebra Compiler. As good compiler researchers, we built something that works in the C++ language, and we thought we were done. When we talked to Toyota, they said that if we had this working in Python, their researchers would be more likely to adopt it.”

He says that with this feedback he received through CSAIL Alliances, he was able to expand his work. “When you talk to [companies], you realize small things you can do in your research that have a big impact in real life… I love to go and tell the CSAIL Alliances members, ‘Here’s what we’re doing.’ And many times, they will say, ‘This is very similar to one of our needs, but our needs might be a little different.’ That can actually guide the research and inspire the next things we can do.”