Anshu Dasgupta’s Fascination with Compilers

CS Ph.D. alumnus Anshuman DasguptaAnshu Dasgupta ’09 knows a thing or two about compilers. The Rice University Computer Science Ph.D. alumnus has been driving compiler development for more than a decade at Qualcomm, the company whose inventions sparked the smartphone revolution.

Smartphones have evolved into pocket-sized yet powerful data processors driven by tiny compilers that act as translators between human intent and computer output. Engineers like Dasgupta must understand both languages in order to program translational activities that achieve accurate results and optimal processing efficiencies.

That translational problem is what intrigues Dasgupta. He said, “Compilers are fascinating to me for a few reasons. First, to be effective as a compiler writer and researcher, you have to understand many different areas of computer science– computer architecture, computational theory, algorithms, graph theory, software engineering– among others. That interplay between the different aspects of CS is very exciting to me.

“Second, it’s an engineering discipline. Many of the problems that a compiler tries to solve are computationally expensive. As a compiler writer, you have to constantly figure out the trade-offs between implementation choices and how they affect the quality of the compiled code.

“Lastly, in studying compilers, you acquire a deep understanding of how a processor works. Understanding the nuances of how computation happens at such a low level (on the silicon) is extremely interesting to me.”

Compilers first captivated his attention at Ohio Wesleyan University, where he realized he wanted to spend more time learning about computer science as a graduate student before jumping into industry.

“Ohio Wesleyan had excellent computer science professors, and the undergraduate program was more tuned towards graduate school than industry. So that played a part as well,” he said. “I was very interested in compilers and artificial intelligence (AI) and I wanted to study one of those topics in depth.”

He joked that his visit to Rice University in March found him contrasting a beautifully green and floral campus in Houston’s warm climate with cold weather and snow in Ohio. But it was his faculty meetings that prompted him to choose Rice.

“The lasting impression from that Rice visit was how excited the faculty members—particularly Keith Cooper, Ken Kennedy, and John Mellor-Crummey–were about compilers. After I returned to Ohio, it was very clear to me that I wanted to work in the compiler research group at Rice,” said Dasgupta.

“The six years I spent at Rice were very influential in terms of my growth from a student into a professional computer scientist. At the core of that experience were the professors and students I met at Rice. It was great being surrounded by folks who liked computer science as much as I did.”

He said his Rice professors were all very approachable, and he valued the latitude those same faculty members gave to their graduate students when it came to pursuing research interests. His master’s thesis focused on binary translation techniques, a project that came out of an off-hand conversation he had with Cooper and Kennedy. Dasgupta said when his advisers realized he found the topic interesting, they were supportive of his research project.

“Another advantage I found at Rice was the small and friendly grad school environment. Over the six years I spent there, I got to know almost all the CS graduate students and faculty at Rice. This led to extremely interesting conversations and discussions that taught me a lot about computer science beyond just my research focus on compilers. The breadth of knowledge that I imbibed has served me very well in my professional career,” he said.

Dasgupta’s focus on compilers made him a natural fit for Qualcomm, a company deeply invested in inventing and improving solutions to transform mobile device performance. Currently, he is the principal engineer and manager for the compiler team in Qualcomm’s Austin campus.

He said, “At Qualcomm, I am fortunate to lead a very talented compiler team. We work on compiler technologies for the Hexagon digital signal processor, a Qualcomm processor that is present on a large number of different cellphones.

“Our customers are what the industry calls “OEM” — original equipment manufacturers. Companies like Google, Sony, and Samsung rely on us to build up software they will use within the phones they manufacture and ship to end users like you and me.”

His compiler team has been paying attention to their customer’s user experience and is working to make the Hexagon DSP easier to program. Dasgupta said what his team really wants to achieve is transparency. Simplifying the programming environment for OEM front-end developers enables those users to spend time in their own area of expertise rather than worrying about how their programs are going to be interpreted by the compiler.

To achieve their goal of transparency, Dasgupta’s team has developed an optimizing C/C++ compiler that allows programmers to take advantage of the unique hardware features of the DSP.

“This involves specializing a number of compiler techniques for the constrained embedded environment that the DSP operates in. That specialization process and coming up with new ideas and techniques to deal with those constraints have been very technically challenging and rewarding,” he said.

“We have also enabled our users to program with higher-level abstractions such as domain-specific languages. One relatively recent project has been enabling an image-processing language called Halide on the Hexagon DSP.

“Halide on the Hexagon has allowed programmers to focus on authoring their image processing algorithms and not spend their time thinking about the complex process of mapping those algorithms to the processor. It has been great to see our customers exploit the hardware features of a modern DSP using a high-level language such as Halide.”

Dasgupta said his team enjoys interactions with their customers. “It is very rewarding to hear feedback from customers on how they used our compilers and tools to significantly increase their productivity and create wonderful products for mobile users.”

He credits his graduate program for much of his success. “I benefited so much from my years at Rice. To anyone who mentions an interest in grad school to me, I say ‘go look at Rice.’ It is an amazing experience.”

Anshu Dasgupta’s advisor was Keith Cooper; he completed his Ph.D. in 2007.