Take a look around. Smart watches adorn nearly as many wrists as analog ones, virtual assistants respond by name, and luxury cars essentially drive themselves. In a time of such profound technological innovation, inefficiency would seem to have no place. But by looking closely at the mechanisms that drive today’s devices, Colorado State University Assistant Professor of Computer Science Louis-Noel Pouchet observed just that.
Recent winner of a National Science Foundation CAREER Award for this work, Pouchet aims to identify and optimize the areas in which our everyday gadgets are failing us.
Silent productivity killer
While new devices have grown in complexity, the compilers designed to exploit their potential have remained a big source of inefficiency. Today’s computing systems utilize more than one processor, having come a long way from the mass marketed single-core processors of the past. Existing compilers, mainly designed to assist the outdated processors, can’t keep up. The result? A less-than-ideal performance, leading to unplanned lapses in productivity that eventually costs significant time and energy.
“This is addressing a problem that everyone has, yet nearly no one realizes,” Pouchet said. “That problem is called performance portability. For each type of device, the software should be optimized. That’s the job of compilers, but they are doing a far from perfect job.”
The core goal of Pouchet’s work is to provide a new and sustainable approach to optimizing compilation for emerging heterogeneous platforms. Pouchet’s research employs both automatic program generation and deep learning techniques to understand and correct compiler processing inefficiencies. His findings could change the way developers use and interact with optimizing compilers, by alleviating the need for manual code optimization.
Micro solutions for macro problems
While Pouchet’s research pertains to the microscale, the applications of his research are anything but. For example, his work stands to increase the battery life of handheld devices by decreasing the amount of power required to run energy-demanding applications such as image and video processing.
His research is also important for high-performance computing applications such as those used in the field of medicine – especially in advancing automated and computer assisted diagnosis, individual tumor-specific cancer treatment and large scale exploratory genome data mining where the utmost performance is demanded.
Leading the charge
Pouchet’s NSF project, titled “Staging Compilers for Heterogeneous Platforms,” will not only support his research in this field but will also fund several related educational initiatives.
Pouchet observed a general lack of understanding of compiler optimization by students, despite the fact that all programming they do involves compilers. He aims to remedy this situation by introducing a new course on optimizing compilation, where students will learn to write application codes in a way that sets compilers up for success. In pursuit of integrating the curriculum at all levels, the course will be complimented with a tutorial series for computer science programming instructors.
“Other people teach how compilers work, but no one teaches how to use them well,” said Pouchet.
Pouchet has also developed an academic partnership with the institution from which he received his Ph.D., the French Institute for Research in Computer Science and Automation (INRIA). This partnership will offer an exchange program between Ph.D. students at INRIA and CSU, from which students can earn diplomas from both institutions upon graduation. Graduate students interested in participating in the program may contact Pouchet directly.
Finally, Pouchet will develop a centralized website for evaluating optimizing compiler research, to facilitate the comparison and reproducibility of results. This will be in part based on his PolyBench/C benchmarking suite, which is widely used to test compiler optimizations worldwide. A massive online open course on polyhedral compilation will also be developed during the course of the project.
A path of success
Pouchet joined the faculty in the College of Natural Sciences in 2016 in the Department of Computer Sciences with a joint appointment the Department of Electrical and Computer Engineering. He received his engineering degree from the Graduate School of Computer Science and Advanced Technologies and his master’s degree in computer science from the University of Paris-Sud XI, both in 2006. He completed his Ph.D. in computer science from INRIA in early 2010.
The Faculty Early-Career Development (CAREER) Program Award is the National Science Foundation’s most prestigious honor in support of early-career faculty who demonstrate a commitment to serving as academic role models in their respective department or organization. Pouchet’s CAREER Award will provide $478,000 over five years to support his work with compilers.