Skip to Content

How to Build a Fast HPC n-Body Engine from Scratch

Victor Pinks, Marmion Academy

Usage Details

Victor Pinks, Eric Peterson, Christopher Baker, Kevin Casto, Adam Danklefsen, Gavin Denton, Omar Espinosa, Baylor Johnson, Jerin Martin, James Powers, Charles Richard, Blake Rubio, John Shroka, Jesse Vera

I will mentor my intern to develop this project in a manner that high school students are able to comprehend HPC motivations and complete the Blue Waters topic, "How to Build a Fast HPC n-Body Engine from Scratch." This will be accomplished in context of our course titled Computational Science and Engineering.

The most compelling aspect of HPC for physics arises when problems in mechanics (for example) move from hard sphere bodies to long-range coupled forces (gravitational, molecular, etc.). When a problem involves long-range forces, coupling occurs between objects thus influencing the motion of both. When motions are coupled so are their differential equations of motion. And so, when a coupled object moves, it can no longer do so without considering of the position and momentum of its neighbors before the next time step. The number of equations needed to solve for a single particle at a single time step increases roughly by N2 if N is the number of coupled particles in the neighborhood. Any problem with coupling (forces or mechanical connections) will experience near exponential growth of differential equations requiring a solution at each time step. It could be mechanical linkages, coupled springs, dampers, etc., however the consideration to use HPC is the same. And so it's not about a growth in complexity of the differential equations but rather, that they increase in number almost exponentially. Like grains of sand on a beach they are small but there are many of them to process. If a differential equation were a blade of grass, a gang mower would be HPC with high throughput. We intend to teach this core concept interactively. Students will discover, when bodies are coupled, you need HPC—otherwise you might have to wait a long time for a single processor to solve your problem. Often the amount of time required for solution becomes prohibitive and for competitive designs or defense, that could be bad for business or national security.

As part of this program, students will learn the effective application of Blue Waters for problems in science, mathematics, and engineering to create n-Body research projects in petascale computing for Computational Science and Engineering.