Princeton held its first GPU hackathon

Monday, Jun 24, 2019
by Melissa B. Moss

Princeton held its first GPU hackathon on campus from June 24 to 28, organized and hosted by the Princeton Institute for Computational Science and Engineering (PICSciE), and co-sponsored by NVIDIA and the Oak Ridge Leadership Computing Facility (OLCF).

Most people know Graphical Processing Units (GPUs) as the graphics cards in their desktop computer or the graphics engines in their game consoles. However, in recent years, GPUs have become exciting to those in computationally intensive scientific fields for their potential to surpass the abilities of conventional Central Processing Units (CPUs) and supercharge the performance and speed of research codes and algorithms.

Said Ian Cosden, manager of Princeton’s Research Software Engineering Group, “After hearing about the first few successful hackathons at other institutions a couple of years ago, I started the discussion with the lead organizers at OLCF and NVIDIA about bringing this kind of five-day coding marathon to Princeton. It took over a year of planning and sorting out logistics to make it happen, but now Princeton is just one of 11 hackathon sites worldwide and one of just six in the United States lucky enough to host such an event.”

The hackathon will bring experts from industry, academia and national labs to campus, working together to port research code to GPUs or to optimize code already running on GPUs. Attendees applied as teams of three or more developers; those selected will work alongside two mentors with GPU programming expertise to improve and accelerate the groups’ existing research codes.

“Sometimes porting code to the GPU can be daunting to those who don’t have the experience,” explained Cosden. “This event is specifically designed to quickly bring research software developers up to speed by working with experts on their code. Given the current architectural trends in High Performance Computing (HPC), this provides a huge opportunity to accelerate and advance science in ways that research groups alone sometimes struggle to achieve.”

PICSciE’s newly hired Research Software & Computing Training Specialist Gabe Perez-Giz is co-leading the hackathon. “Though originally designed for gaming, GPUs can also do vastly more scientific calculations in the same amount of time as ordinary CPUs, and can run existing calculations much faster,” said Perez-Giz. “Unfortunately, most  researchers lack the specialized skills to program GPUs. The hackathon aims to close that skills gap by pairing researchers with GPU experts who will help get their codes GPU-ready in an intensive five-day sprint.”

Alex Chen, a postdoctoral research associate in Princeton’s Department of Astrophysical Sciences, is looking forward to the event. “This will be my first hackathon. I have been using GPUs in my research for a while to study the physics of neutron stars and they allow me to run simulations on my personal workstation that would normally require more than ~1000 CPU cores. The reason I applied to attend the GPU Hackathon is both to challenge myself, and to help my colleagues learn GPU programming, so that they can benefit from this technology as well.”

Lucas Sawade, a first-year geosciences graduate student in Princeton’s Theoretical & Computational Seismology Research Group, said that he applied mostly to help the main developer of the SPECFEM-X seismic wave modeling software make the shift from CPUs to GPUs for the acceleration of the software’s simulations.

Sawade said, “[T]his is a stellar opportunity to get into writing GPU-driven software with hands-on experience and expert guidance. When you take a look at the hardware installed in most High Performance Computing clusters nowadays, it becomes very clear that the future of scientific computation is facilitated by GPUs.”

“Hackathons are highly worthwhile, because access to the world’s fastest computers invariably requires GPU acceleration,” said Jeroen Tromp, director of PICSciE and the Blair Professor of Geology, professor of geosciences and applied and computational mathematics. “Thus, hackathons enable Princeton researchers to ‘graduate’ from local computational resources to more substantial national resources.”

“I’m looking forward to the new skills and techniques that researchers in my group will learn at this hackathon,” said Anatoly Spitkovsky, professor of astrophysical sciences. “We are going to be upgrading several big codes used in the group to GPUs in the coming year to respond to the shifting computational landscape at the national centers. Hands-on learning in the hackathon format is probably the best way to jumpstart this effort.”

Said Cosden, “The success stories I’ve heard completely sold me on the effectiveness of this hackathon format.  Combining direct mentoring, agile programming practices, and concentrated team effort, these hackathons have the ability to enable researchers to make considerable gains porting their code to GPUs in just five days.”

“We had to turn away some applicants because of space, so we’re hoping to see this become an annual event,” he added. “People recognize the exciting potential of GPU programming as a catalyst for more and newer science.”