NERSC taps NVIDIA compiler team for Perlmutter Supercomputer

Dr. Saul Perlmutter (left) holds an animated conservation with John Kirkley at SC13. Photo by Sharan Kalwani, Fermilab

NERSC has signed a contract with NVIDIA to enhance GPU compiler capabilities for Berkeley Lab’s next-generation Perlmutter supercomputer.

In October 2018, the U.S. Department of Energy (DOE) announced that NERSC had signed a contract with Cray for a pre-exascale supercomputer named “Perlmutter,” in honor of Berkeley Lab’s Nobel Prize-winning astrophysicist Saul Perlmutter. The Cray Shasta machine, slated to be delivered in 2020, will be a heterogeneous system comprising both CPU-only and GPU-accelerated cabinets. It will include a new Cray system interconnect designed for data-centric computing; NVIDIA GPUs with new Tensor Core technology; CPU-only nodes based on next-generation AMD EPYC CPUs; direct liquid cooling; and an all-flash scratch filesystem that will move data at a rate of more than 4 terabytes/sec.

We are excited to work with NVIDIA to enable OpenMP GPU computing using their PGI compilers,” said Nick Wright, the Perlmutter chief architect. “Many NERSC users are already successfully using the OpenMP API to target the manycore architecture of the NERSC Cori supercomputer. This project provides a continuation of our support of OpenMP and offers an attractive method to use the GPUs in the Perlmutter supercomputer. We are confident that our investment in OpenMP will help NERSC users meet their application performance portability goals.”

Under the new non-recurring engineering contract with NVIDIA, worth approximately $4 million, Berkeley Lab researchers will work with NVIDIA engineers to enhance the NVIDIA’s PGI C, C++ and Fortran compilers to enable OpenMP applications to run on NVIDIA GPUs. This collaboration will help NERSC users, and the HPC community as a whole, efficiently port suitable applications to target GPU hardware in the Perlmutter system.

Programming using compiler directives of any form are an important part of code portability and developer productivity. NERSC participation in both OpenMP and OpenACC organizations helps advance the entire ecosystem of important tools and the specifications on which they rely.

Together with OpenACC, this OpenMP collaboration gives HPC developers more options for directives-based programming from a single compiler on GPUs and CPUs,” said Doug Miles, senior director of PGI compilers and tools at NVIDIA. “Our joint effort on programming tools for the Perlmutter supercomputer highlights how NERSC and NVIDIA are simplifying migration and development of science and engineering applications to pre-exascale systems and beyond.”

The Perlmutter Supercomputer will be based on the Cray Shasta architecture.

In addition, through this partnership, NERSC and NVIDIA will develop a set of GPU-based high performance data analytic tools using Python, the primary language used for data analytics at NERSC and a robust platform for machine learning and deep learning libraries. The new Python tools will allow NERSC to train staff and users through hack-a-thons where NERSC users will be able to work directly with NVIDIA personnel on their codes.

NERSC supports thousands of researchers in diverse sciences at universities, national laboratories, and in industry,” commented Data Architect Rollin Thomas, who is leading the partnership at NERSC. “Our users increasingly want productive high-performance tools for interacting with their data, whether it comes from a massively parallel simulation or an experimental or observational science facility like a particle accelerator, astronomical observatory, or genome sequencer. We look forward to working with NVIDIA to accelerate discovery across all these disciplines.”

Sign up for our insideHPC Newsletter