Perlmutter, a pre-exascale Cray Shasta system slated to be delivered in 2020, will feature a number of new hardware and software innovations and is the first supercomputing system designed with both data analysis and simulations in mind. Unlike previous NERSC systems, Perlmutter will use a combination of nodes with only CPUs, as well as nodes featuring both CPUs and GPUs.
The focus of this hackathon was to "train the trainers" so that NERSC staff can grow their expertise in GPU programming and help users do the same, according to Brian Friesen, an application performance specialist at NERSC who led the event.
"The primary goal for code teams at the GPU hackathons is to gain knowledge and expertise about GPU programming and to apply that knowledge as they port their scientific applications to GPUs", Brian Friesen stated.
Some applications can achieve breakthroughs even in a single hackathon, resulting in substantial speedups, after only a few days of work. However, in many other cases, experience has shown that three to four days is rarely enough time to improve code performance substantially, he added. "Our goal is for a scientific application developer to leave the hackathon better equipped with a strategy to port their full application to GPUs, a process that can take months or even years", Brian Friesen stated.
The six-week "ramp-up" period preceding the hackathons, where code teams have weekly calls with Cray and NVIDIA engineers, is extremely useful, he added. "The result of this is twofold: first, in some cases, a significant application speedup can be achieved before the hackathon even starts. Second, even if a 'preemptive' speedup is not achieved, everyone present at the hackathon becomes familiar with the code they are working on, who they are working on it with, and so can get to work immediately when the hackathon begns."
There will be roughly one GPU hackathon per quarter through 2021, with NERSC hosting around three code teams per hackathon. These events will consist primarily of NESAP code teams, with expertise provided by NERSC staff, as well as from Cray and NVIDIA engineers. The next GPU hackathon will take place at Berkeley Lab in the second quarter of 2019.