The GPU Technology Conference this week in San Jose offered plenty of material for the supercomputing set with a number of presentations focused on specific programming challenges for large-scale scientific and enterprise HPC applications. The Titan system at Oak Ridge National Lab tied together key themes through a number of the talks, which helped put massive-scale use of GPUs in better context.
Jim Rogers, Director of Operations at the National Center for Computational Sciences at Oak Ridge National Laboratory described in detail how the 27-petaflop Titan system has been making use of its 18,688 NVIDIA Tesla K20 GPUs. Oak Ridge is able to track efficiency metrics through recent changes in the Kepler device driver and Cray’s software that allows for sophisticated reporting of GPU usage metrics for both memory use and scheduled work. Rogers used the data from these metrics to point to the some specific operational benefits to using GPUs over a multicore-only approach, estimating that their use of GPUs at such scale has offered over 5x the efficiency of CPU-only system.
The efficiency and performance message seems to be resonating with an increasing number of users requesting allocations on Titan, says Fernanda Foertter, HPC User Support Specialist at Oak Ridge National Lab. In her GTC presentation about GPU interest and user needs on Titan, she highlighted the demand for GPU acceleration for a growing number of applications. Foertter was able to collect several perspectives from users of Titan about their experiences porting applications and making use of the accelerators and pointed to the role of acceleration for the future of exascale-class systems. Her presentation set the stage for a number of topics around GPU usage on Titan, particularly in terms of the coding support required for complex scientific and commercial codes.
Aside from details about general production and operation of the system, there were a number of users of the Titan system present to share experiences about porting and altering their codes as well as gauging performance against CPU-only systems. Among such users was Evghenii Gaburov, HPC Advisor at SURFsara, who described how his team was able to leverage Titan to simulate the evolution of the Milky Way on a star-by-star basis in just over a week. While he made no secret of the challenges in parallelizing an advanced hierarchical GPU tree-code for use on Titan, after some significant workarounds, they were able to redesign the communication strategy to maximize both the CPU and GPU use and allow their application to scale to over 8000 of Titan’s GPUs.
Others shared war stories about getting their codes primed to run on Titan and other GPU-powered supercomputers, including James Phillips, a senior research programmer at the University of Illinois. His team had already worked with the NAMD molecular dynamics code on Blue Waters and before they began to tap into Titan. Again, while there were significant software challenges, once the team overcame some of the core barriers of their legacy application using core CUDA 5.5 and Kepler features, they were able to improve their time to result—one that allows researchers to model the complete atomic structure of the HIV capsid.
Weather modeling efforts on Titan were a prime use case that opened the doors for researchers to talk about the use of GPUs at large scale to continue improving model resolution. Dag Lohmann, co-founder at catastrophe modeling company, Katrisk, described how his company, which was recently selected by Oak Ridge National Lab to use Titan for specific flooding events, was enthusiastic about the performance boost offered by GPUs. In addition to providing a great overview of catastrophe modeling in the context of global flood risk models, he detailed the challenges of getting their CUDA-based fluid mechanics code to run on the Keplers (in terms of code, data assimilation, data volume, etc). The end result of their work allows KatRisk to create probabilistic flood models and maps at high resolution.
Also on the weather and climate front, Mark Govett, Chief of the Advanced Computing division at NOAA discussed the development, parallelization and performance of the NIM next-gen weather model for the Titan system, which will allow the weather agency to improve weather prediction accuracy. Specifically, Govett talked about NOAA’s experiences using OpenACC compilers—an important element since NOAA’s parallelization path has relied on a homegrown directive-based Fortran-to-CUDA compiler to get the application ready to run at the full resolution across 5000 Titan nodes.
Others shared specific thoughts on code-related issues at Titan scale. For instance, Alan Gray, a research architect at EPCC at the University of Edinburgh described their work with a highly complex application that allowed his team to scale their soft matter physics code to over 8,000 GPUs on Titan. Specifically, he talked about the challenges and ultimate success of blending CUDA and MPI and shared details about their communication library, which can be adopted by others. Interestingly, with their code that supports bboth GPU and CPU-only versions, they were able to demonstrate a performance enhancement of 3.5-5x using the GPU variant against the same code running on fully utilized CPUs.
More researchers, including Mathias Wagner, from Bielfeld University and Indiana University, shared how GPUs are advancing quantum chromodynamics following his team’s preparation of complex code for Titan via the QUDA library. In a similar vein, Justin Foley, a developer at Microway and NVIDIA, described QUDA in more detail for the same research area, which rounded out the picture for Lattice Quantm Chromodynamics on Titan GPUs.
Researchers from GE Global were on hand as well to talk about scaling their codes to meet the GPU capabilities on Titan for gas turbine modeling and accelerating three-body molecular dynamics codes and others shared details about scaling to Titan heights for seismic and medical research applications.
On the code front, OpenACC was a hot topic among the HPC set. Rob Farber did an excellent job of highlighting some of the key trends in programming and optimizing for GPUs at large scale. He presented on new results that extend machine learning and big data analysis to 13 petaflops average sustained performance across 16,384 GPUs on Titan—a very popular topic.
As we noted earlier in the week, this GTC event didn’t seem to emphasize the gaming and entertainment crowd. The focus on large-scale analytics, cognitive computing, computer vision and of course, scientific computing were top of the charts in terms of sessions and posters. Jack Wells from Oak Ridge, who chaired the “Extreme Scale Supercomputing with the Titan Supercomputer” series for GTC was able to gather a representative sample of leading researchers to put real-world use and challenge context into the Titan story.