OLCF’s 2020 virtual hackathon series kept participants safe—and productive—with remote coding collaborations

This is a joint story by OLCF writers Coury Turczyn and Rachel McDowell.

When University of Michigan (UM) professor of aerospace engineering Venkat Raman and his team of graduate students were awarded a grant of compute time on the nation’s most powerful and smartest scientific supercomputer, the IBM AC922 Summit at the Oak Ridge Leadership Computing Facility (OLCF), they thought they had it made. Surely, Summit’s computational horsepower would vault their study of rotating detonation engines and their fluid dynamics simulation code into the stratosphere.

At first, however, the exact opposite happened when they didn’t take advantage of Summit’s biggest tool for accelerating codes: its 27,648 NVIDIA Volta GPUs. The team had no experience in optimizing code for GPU processors, so they didn’t put much effort into it. Consequently, their code actually ran slower than it had on traditional CPU computers.

“We did not think of GPUs as anything important: ‘We know how to write codes on CPUs and now people are telling us we need to use GPUs?’ So, the first day my students ran the code, we turned off all the GPUs because we thought it was a nuisance. We just ran it on the CPUs—and it was 10 times slower,” Raman said.

After Venkat Raman’s students attended an OLCF hackathon in 2019, they made major changes to their code. Now, more than 95 percent of their code runs on GPUs. Image Credit: University of Michigan

This caught the attention of the OLCF’s then–director of science, Jack Wells, who sent the team an email that essentially said, “Are you sure you guys are doing the right thing? You’re not using the GPUs.” The team, who had been awarded 130,000 node-hours on Summit through the US Department of Energy’s (DOE’s) Office of Advanced Scientific Computing Research’s Leadership Computing Challenge (ALCC) program, couldn’t afford for their codes to run slower.

The OLCF made the team aware of its series of hands-on seminars intended to help users optimize codes for GPUs: the OLCF GPU hackathons. The hackathons have evolved from a single, ambitious endeavor in 2014 to a series hosted at institutions across the country—and even around the world—to bolster programmers’ applications for scientific study on some of the largest GPU supercomputers. The OLCF and NVIDIA co-organize the trainings along with the local host institutions, and the OLCF also works with the Exascale Computing Project to codeliver a handful of OpenMP-specific GPU hackathons as well. Teams receive help from expert mentors at the 5-day events, aiming to leave with a piece of GPU code in hand.

“My students went to a hackathon in Oak Ridge and they sent me a message from there saying, ‘We had no idea what this machine can do—we have to rethink everything.’ So that’s what we did,” Raman said.

Raman’s trio of PhD candidates responsible for coding—Shivam Barwey, Ral Bielawski, and Supraj Prakash—had tried using the OpenACC programming model to offload a few elements of their simulation software (UM detonation FOAM, or UMdetFOAM, originally based on the code OpenFOAM, for “Open-source Field Operation and Manipulation”) to GPUs. But the results weren’t much better than their first foray. At the hackathon, where team members could talk to IBM and NVIDIA programmers directly, they found out why.

“While the OpenACC framework initially seemed very easy to use, we needed a lot more control over what data is transmitted, how that data is transmitted, and how we rewrite our algorithms in order to best use that framework,” Barwey said. “We need to rethink the way the algorithm is structured so we saturate the GPU to perform a large operation at a single time rather than constantly going back and forth between the CPU and GPU.”

Upon returning from the hackathon, the students began completely rewriting and modifying their solver—which involved replacing OpenFOAM and other external libraries with custom GPU libraries—to take full advantage of Summit’s GPUs. Now, more than 95 percent of the code runs on GPUs. Furthermore, the team recognized the opportunity to leverage the advantages GPUs have for artificial intelligence algorithms and consequently trained neural networks to speed up the modeling program even further—a first in the field. All of these improvements led to GPU performance reaching near-theoretical limits, restricted only by the communication bandwidth for transferring data between the CPU and GPU.

“This allows us to get—in some extreme cases—about 1,000-times-faster simulations compared to if we had just done conventional calculations,” Raman said. “More than even speedup, we can also answer different questions. It’s not an incremental change.”

As the team completed its ALCC project last summer with groundbreaking results—while also advancing the state of the art for computational fluid dynamics tools—the OLCF was reimagining the hackathon itself. Faced with a global pandemic, staff members were forced early on to decide whether collaborative programming seminars could transition successfully to the virtual domain. Could teams like Raman’s get as much out of long-distance interactions with mentors as they did in person? Could the OLCF risk a virtual format for the hackathons or should it forgo them altogether?

“There was a substantial discussion about whether this would be feasible and still provide value to the participants, and the organizers quickly decided that yes, it would be doable,” said Ashley Barker, section head of operations in the National Center for Computational Sciences (NCCS), which hosts the OLCF at the DOE’s Oak Ridge National Laboratory (ORNL).

In 2020, the OLCF—a DOE Office of Science User Facility—cohosted five of the virtual hackathons with NVIDIA, with a total of 296 people from 62 different institutions participating in the events. The success of the hackathons in the new format marks a milestone in the OLCF’s history and demonstrates the perseverance and tenacity of the high-performance computing (HPC) community to find creative solutions to problems—something required for code porting and development even under ideal circumstances. It also paves the way for opportunities to expand upon the hackathon’s original format and help users find new ways of collaborating at a time when it is needed most.

A new hackathon for new times

The first-ever virtual NVIDIA GPU hackathon was hosted by the San Diego Supercomputer Center in May. Unlike typical hackathons, during which teams attend a 5-day-long consecutive event, the attending teams had one initial day of code profiling to determine which pieces of their codes were eating up their computational time. After that, they had a week’s break to implement changes and revise or adapt their strategies for porting to the GPUs in Ascent, an OLCF test bed system with an architecture similar to that of the OLCF’s Summit supercomputer. In the second week, participants had 3 full days to develop and port their codes during the virtual hackathon event.

The new format boasted many benefits right off the bat. The hackathon organizers found it easier to identify mentors due to the ability to participate virtually. Along with the greater availability of mentors, the organizers identified holding that separate introductory session was a best practice for future virtual hackathons because it better prepared participants for the 3-day event.

The success of the first event marked the new format for the remainder of the 2020 hackathon series. The virtual format wasn’t without its challenges, of course. Time zone differences and virtual meeting fatigue were some of the biggest inconveniences. However, most participants observed efficiency gains and were able to find the same value they received at the in-person events.

“People don’t have to travel, and I think they’re still able to do what they were doing before and get it done in a similar amount of time,” said Tom Papatheodore, HPC engineer in the Operations Section at NCCS.

First-timers reap big benefits

One team that saw success this year was the MOVE–computational fluid dynamics (CFD), or MOVE-CFD, team from Rensselaer Polytechnic Institute. The team works with the parallel, hierarchic, adaptive, stabilized transient analysis (PHASTA) code, which can be used for variety practical cases of interest that can involve complicated geometries—such as detailed aerospace configurations or human arterial system—as well as complex physics, such as fluid turbulence or multiphase interactions. PHASTA allows researchers to achieve high accuracy for modeling turbulent flows in these systems. The team took a mini-version of PHASTA to the OLCF-hosted GPU hackathon on October 19 and October 26–28 and, with help from NVIDIA mentors at the hackathon, ported the mini-application to the OLCF’s Ascent test bed system and achieved a 10-fold speedup.

“This was definitely a successful hackathon for our team, as we finally took the first crack at porting a legacy CPU code to GPUs,” said Abhishek Chopra, team lead and PhD student in the Center for Mobility with Vertical Lift (MOVE) at Rensselaer. “These efforts have motivated us to keep working on this to make a significant difference in speedup of the production code.”

Attendees of the OLCF’s virtual hackathon in October. The OLCF cohosted five virtual hackathons with NVIDIA in 2020, with a total of 296 people from 62 different institutions participating. Image Credit: Jason Smith, ORNL

Another team, led by aerospace researcher Ioannis Nompelis at the University of Minnesota (UMN), brought a mini-application that was purposely built to mimic the US3D CFD solver, which is used for simulating hypersonic flows around geometrically complex shapes. The team, AeroUMN, observed a 40-fold speedup of the mini-application—which is named MY3D—from a single compute unit (CPU core) when using the entire CPU resource of an Ascent-type node. And when the team employed one of the six GPU accelerators found on the compute node, MY3D performed 50 percent better than the original CPU-only version.

“The great thing about these hackathons is that they are so well run, and there is also investment from NVIDIA, who embed their knowledgeable personnel into the hackathons so that teams can ask questions,” Nompelis said. “Not only do we typically not get opportunities to access these kinds of large-scale GPU-endowed systems, but we also do not have access to mentors of this caliber.”

For the future, not virtual but virtual-inspired

Papatheodore said the organizers intend for the 2021 GPU hackathons to continue in the virtual format.

“I think we have proven this year that we can run these events virtually and see similar results to the in-person events,” Papatheodore said.

Papatheodore emphasized that the hackathons likely won’t remain virtual forever. But the organizers plan to keep some form of the hackathons virtual even after a return to in-person events. This will allow participants to reap the benefits of the new format, such as increased availability of mentors.

“In the future, we’ll likely incorporate some of the most successful aspects of the virtual hackathons into our in-person events as well, so we have forever changed the format of these hackathons,” Papatheodore said.

UT-Battelle LLC manages Oak Ridge National Laboratory for DOE’s Office of Science, the single largest supporter of basic research in the physical sciences in the United States. DOE’s Office of Science is working to address some of the most pressing challenges of our time. For more information, visit https://energy.gov/science.