Computational Science Graduate Fellowship
Home navigation
Welcome navigation
Practicum Experiences navigation
DOE Lab Research navigation
Alumni Profiles navigation
Howes Awards navigation
Activities & Events navigation
Archive of past issues

Fellows Directory navigation
DOE Labs Research headline

Pacific Northwest National Laboratory

Standards Make Advanced Computing Faster — and Easier

Nearly all PC software conforms to standards.  This is why software components written using a wide variety of languages — from C++ and Java to Visual Basic and Perl — all run and exchange data with one another on the same PC.

“PC components work with each other all the time,” notes Jarek Nieplocha of Pacific Northwest National Laboratory (PNNL).  “If you open a Word document with an embedded graph, the underlying component technology understands that the graph is an Excel object.  When you click on the graph, it opens Excel.  These programs know about each other and work together.”

In recent years, the Common Component Architecture (CCA) community has been adopting this technology for scientific supercomputing.

“There are supercomputer chemistry applications that need to perform some sort of optimization, such as a minimum energy function,” Nieplocha explains.  “These optimization routines are readily available in science libraries, but in the past programmers had to struggle with data structure and code to adapt them to their chemistry program.

“Today, we’re seeing common interfaces that let us glue those two programs together so they work like a single application.  If someone develops a better routine, they could swap it for the old one in a completely transparent way and it would work,” Nieplocha says.

The PNNL team is working with ways to extend Common Component Architecture to specialized hardware accelerators, such as field programmable gate arrays (FPGAs) and graphics processors.  While not as flexible as conventional processors, these specialized chips excel at accelerating repetitive calculations.

“We want to hide the complexity of moving data onto the accelerator, so programmers have a simple way to take advantage of its speed,” Nieplocha says.

« Previous       1   |   2   |   3   |   References   |   Sidebar   |   Print