ALBUQUERQUE, N.M. — A computer code developed at Sandia National Laboratories is proving its value to industry by simplifying and speeding calculations on the fastest kinds of computers in the world.
The code, called Chaco, was developed by scientists in Sandia’s Parallel Computing Sciences Department and was first used exclusively by Sandia researchers and at leading universities and high-performance computing centers. Now available to industry through commercial licensing, Chaco has been applied to a variety of problems, including climate change, auto crash simulations, placement of circuit elements on computer chips, database design, gene sequencing, and archaeological dating.
Computer scientists found some time ago that they could solve a complex problem faster by dividing it into pieces and assigning each piece to a separate processor, rather than dumping the entire problem into a single, even though very powerful, processor.
“It’s a fine art, though, trying to balance all of this,” says one of Chaco’s developers, Bruce Hendrickson. “To achieve peak efficiency, all the processors should be working simultaneously on parts of the problem of about the same size. Chaco is designed to do that — to take a big problem and break it into pieces so that each processor has about the same amount of work to do. But more important, Chaco keeps the work under way with a minimum of interprocessor communication, which can be very time-consuming.”
Determining air flow over an airplane wing, Hendrickson says, is an example of such a problem. This usually would be calculated by overlaying the wing surface with a grid and determining the airflow over each piece of the grid. Chaco divides the calculation into pieces and sees that each processor is working — and communicating its findings — in sync with all the other processors.
Chaco’s value is that it is more general than similar codes, says Hendrickson. “As a matter of fact, ideas from Chaco have now found their way into a lot of other codes,” he says.
The appeal of Chaco, which can be run on both symmetric multiprocessing (SMP) and massively parallel processing (MPP) platforms, is its flexibility and utility. Hendrickson says it can be applied broadly, and its algorithms and implementations have been enthusiastically embraced by the research community as standards against which alternatives are judged.
“Since Chaco comprises a suite of different algorithms, it’s sort of like a tool bag. You can reach in and try different tools until you find the one that works best for your specific problem,” Hendrickson explains.
Industry representatives interested in discussing licensing Chaco should contact Gordon Leifeste in Sandia’s Technology Partnerships & Commercialization Center.