Researchers at Rice University have scored $16 million from the Defense Advanced Research Projects Agency to develop a universal compiler that will run on heterogeneous hardware and multicore platforms, which are found in everything from supercomputers to embedded systems, such as those used in routers or game consoles. If the research succeeds, the result will be more computers and devices that are both faster and more energy efficient, all thanks to software that takes better advantage of the underlying silicon.
As our devices get smarter, they contain more semiconductors and draw more power. It’s also more difficult to write code that can optimize these multiple (and sometimes multicore) chips. A programmer can either customize the code running on this heterogeneous hardware, or use a compiler that translates the code into the zeros and ones that the specific type of chip can process. But developing custom code for each platform is expensive, time-consuming and limited to that one specific device, so most chipmakers or outside vendors develop compilers for each chip. While the process can take some 3-5 years, the compiler can then be used for the chip in a variety of devices.
The Rice-led effort, dubbed The PACE project — short for “platform-aware compilation environment”– aims to build a universal compiler to improve the software performance on hardware in three steps. As part of PACE, researchers will first develop a suite of software that will map out the limitations and capabilities of the hardware it’s running on, be it a computer cluster or a system on a chip. Then a planned compiler will look at the source code of the application and attempt to partition it automatically to run on the multicore processors. Finally researchers will create a runtime tool that measures the performance of the application on the system, and if the software is written for an x86 processor, perhaps even change the code on the fly.
This all sounds a bit like magic to me, but Keith Cooper, Rice’s John and Ann Doerr Professor in Computational Engineering and a principal investigator on the PACE project, says a team of researchers there, with the help of teams at three other organizations, have 54 months to make it work. Saving energy and boosting performance with an easy-to-implement software compiler is a problem worth solving, especially as we rely more and more on specialized chips, be they in our antilock brakes or our iPhones.