Back

R&D 100 for game-changing ROSE compiler

Laboratory computer scientists have developed a software infrastructure — called a compiler — that promises to speed up the research community's development of new computer software and the science and engineering those applications make possible.

The team of computer scientists, led by Dan Quinlan, will receive an R&D 100 award for the compiler technology called ROSE at a ceremony in SeaWorld, Florida, Nov. 12. Principal developers of ROSE include Quinlan, Chunhua Liao, Robb Matzke, Thomas Panas, Andreas Saebjornsen and former LLNL employees Markus Schordan, Richard Vuduc, Jeremiah Willcock and Qing Yi.

ROSE is a user-friendly software infrastructure that allows even average programmers to create their own software analysis, transformation and optimization tools to speed up the development of new applications and all but eliminate their dependency on compiler experts with specialized knowledge — a requirement that often slowed the development of new software.

A "compiler" is a complex software program that converts the source code written by computer programmers in high-level programming language into "binary code," a machine that can read and execute. The primary job of a compiler is to optimize the performance of a code on a specific computing platform. Unfortunately, conventional compilers have applied a one-size-fits-all set of optimizations designed to work on a wide variety of computer platforms, though imperfectly.

Quinlan says the team took a different approach to the development of ROSE from previous compiler technologies. "ROSE has made compiler technology more accessible to the broader programmer community by encapsulating the technology into a user-friendly interface."

Quinlan and his team have pioneered a source-to-source compiler infrastructure that is more flexible and portable with broader applicability. Rather than translating source code into machine-readable binary code, source code is optimized, then translated back to source code. This allows users to control the programs they've created and develop leading-edge optimizations that suit their purposes, independent of the computing system they're working on, and without relying on third-party compiler experts. Examples of source code transformations and optimizations enabled by ROSE are: improved domain-specific performance optimizations; auto-parallelization for multi-core architectures; and automatic  detection of the bugs that are an inevitable part of code development.

Beyond its function as a source-to-source compiler, ROSE is an encyclopedic resource allowing any user with programming knowledge to build a variety of expert tools for software security analysis, performance analysis, code restructuring, reverse engineering, visualization and other purposes. "A unique feature of ROSE is that it was designed for non-experts to use and handles many programming languages where commercial compilers typically only have a few," Quinlan said.

Ten years in the making, ROSE is "open source," that is available to users via the Internet free of charge for a little over a year, according to Quinlan, noting that they already have a customer base that includes national labs, research universities and industry. "There's nothing quite like what we have available and ROSE is filling a need."

The availability of ROSE has enabled improved applications for LLNL research programs across the board from cyber security to nuclear weapons. The development of ROSE has been funded by NNSA's Advanced Simulation and Computing (ASC) program, DOE's Office of Science and the Scientific Discovery through Advanced Computing (SciDAC) program and Laboratory Directed Research and Development (LDRD).

ROSE is supported by a novel and highly automated testing and release system that permits up to two releases per day. ROSE is released via the SciDAC outreach Website managed by the DOE Office of Science.

Searching for a name, they recognized the fundamental idea behind their invention in a William Shakespeare sonnet. "A rose by any other name would smell as sweet," which translates into: "an application after any performance optimization would be semantically equivalent."

For more about ROSE and the other LLNL technologies that received R&D 100 awards, see the October edition of Science & Technology Review posted on the Web today (Friday, Oct. 2).

Oct. 2, 2009

Contact

Don Johnston
[email protected]