March 17 — Do you still remember linear algebra? Better question—can you still solve a linear algebra system of equations? Here, try one out. We’ll wait.
2x + 3y = 6
6y + 3x = -3
These are the kind of problems supercomputers use sparse matrices—which means with many zeros—to solve, says Seid Koric, adjunct professor in mechanical science and engineering as well as technical program manager for the Private Sector Program at NCSA.
“The growth of high performance computing along with the development sparse linear solver algorithms in the last 30 years, allowed us to solve these kinds of problems with many millions of equations and unknowns,” Koric says. “A linear solver is actually the heart of many engineering codes and many other codes in science and technology.”
According to Koric, solving sparse linear equations accounts for 70-80 percent of the time used in many scientific and engineering simulation codes.
“That’s why if you can further speed up those things or come up with a new algorithm, it’s kind of a breakthrough for everybody,” Koric says.
Often used in solving finite element problems that, for example, involve running a multiphysics simulation on a whole airplane structure, this can take many days before a solution is reached. Using Blue Waters and the Watson Sparse Matrix Package (WSMP) solver, Koric and his team successfully solved one of those problems in less than a minute.
“For the first time we demonstrated this (type of problem) can be done with direct solvers on systems like Blue Waters,” Koric says. “Now everybody who is looking at big simulations in computational mechanics, oil exploration, quantum mechanics, optimization, and many other areas, is going to be able to do on similar HPC systems these computations with WSMP.”
A direct solver like the one Koric used is one of two methods used to solve linear equation problems. The other is called an iterative solver.
Direct solvers find solutions in the way that most people are familiar with, by using factorization and elimination of equations in matrices. Iterative solvers, on the other hand, guess and check solutions during each iteration. Even though they require less memory and generally better scale on supercomputers, the iterative methods can be slow, or even never get to the right solution.
Due to the sheer power and memory per node that Blue Waters provides, problems that would normally take days can be solved in less than a minute, which can benefit someone who needs to produce results both accurately and very quickly.
Using a direct solver like this also means that industry can have more accurate results from their high fidelity simulations. For example in the case of oil and gas exploration, an iterative solver would only provide blurry images from the energy it received after sending ultrasonic sound through the ground. If drilling is done in the wrong spot, it can cost a company a lot of money. Using the program for direct solvers on Blue Waters, not only do they receive information quicker, but also the images are much clearer and are more accurate.
By the way, the solution is x = 15 and y = -8.