Problem SolverFor seven years (1998-2005), Edmond Chow worked at the Lawrence Livermore National Laboratory’s Center for Applied Scientific Computing. For five years after that, he applied his skills at the D. E. Shaw Research firm. In fall 2010, Chow returned to the world of academia as an associate professor in the School of Computational Science & Engineering.

This means that, in the first 12 years of his professional career, Chow has made stops in all three major employment sectors for computer scientists: government laboratories, private industry and higher education. And he’s convinced this breadth of experience will serve him well in his search for algorithms that can help solve some of science’s large-scale computing problems.

“It helps me be able to see the needs of the field at different levels,” says Chow, who earned his Ph.D. in computer science in 1997 from the University of Minnesota. “I know about the practical, professional concerns of people who work with these problems every day in various application areas. It also helps me foster good collaborations with colleagues in industry and the national labs.”


 Edmond Chow

One major focus of Chow’s research is the development and refinement of algorithmic “solvers” for scientific computation. The “mathematical workhorses at the core of any numerical simulation or scientific code,” as he calls them, solvers typically are general tools that can be used in a number of different applications. Essentially, Chow uses solvers to resolve ever-more-accurate models of the natural world.

“To effectively solve large-scale scientific problems, we need two things,” Chow says. “We need large-scale machines—meaning, we need high performance computing capability—and we need algorithms. Because differential equations, which you use to address continuous problems, are often similar, the same solver can be applied to applications from a number of different places.

“It’s interesting,” he continues, “that the physical world is governed by mathematical equations of a surprisingly small number.”

A solver’s quality is determined by three main metrics—accuracy, efficiency and robustness—and often designing the best solver for a given problem involves a balancing act between the three. Sometimes the best mathematical solution for a given problem is not the best computational solution, Chow says, because for large-scale problems, solvers need to run on supercomputers, and that means running in parallel. The simplest, most elegant mathematical solver might be useless on a parallel processor.

“There is no free lunch,” Chow says. “If you can make a method more parallel, something else usually suffers. Either the solver is less accurate, less scalable or less robust. You’re trying to find a good compromise between those things.”

Edmond Chow

This spring, Edmond Chow will teach a graduate seminar on developing algorithmic “solvers” that extend to multiple computing applications.

 

Chow himself is developing HPC-friendly solvers that also extend well to multiple applications. Specifically, he’s looking for solvers that can be applied efficiently by general-purpose processors that have data-parallel capabilities, meaning the ability to use one instruction to operate on multiple pieces of data simultaneously. That’s a major trend he sees in HPC, as well as the need for effective solvers in such an environment.

In spring 2011, he’ll start teaching students about solvers in a graduate seminar on the subject. Though he taught several courses as an adjunct faculty member at Columbia University, Chow says he’s looking forward to the opportunity as a full-time professor to advise students and help make a difference in their careers.

“Sometimes students need help finding a direction, and I feel I can steer them toward some interesting areas for which there’s a lot of demand,” he says. “Computational science and engineering, as a field, is growing rapidly—the demand is growing faster than the rate at which we can produce graduates. Computers are less expensive and easier to use than in the past. Companies and researchers can use computation and simulation to do their work more quickly and more cheaply than other ways.

“It’s a quiet explosion,” he continues. “Companies like Google and Facebook are going through a lot of data, but not a lot of students have adapted their coursework for a world increasingly using computation.”

“Dr. Chow’s encouragement has been a strong driving force behind me as I start my Ph.D.,” says Benjamin Seibert, a doctoral student in computational science and engineering and Chow’s first Georgia Tech advisee. Under Chow’s direction and in collaboration with Professor David Sherrill of CSE and the School of Chemistry & Biochemistry, Seibert works on large-scale quantum chemistry calculations, with the goal of modeling larger and more complex molecules with higher precision.

“Dr. Chow has helped me with many different techniques for code, algorithm and platform optimization. His insight has been incredibly helpful in understanding the problem and solution in both a top-down architectural way and a bottom-up code optimization way,” Seibert says. “I have learned many of the fundamentals of high-performance computing along with a number of tricks of the trade, which I have found invaluable.”