Exascale computers will employ tens of thousands of many-core nodes, leaving programmers with the challenging task of developing applications that can leverage tens of millions of threads. Over at the Cray blog, Dr. Jason Beech-Brandt, Manager Exascale Research for Cray Europe, writes about how the supercomputer maker is helping lay the groundwork for exascale applications through a collaborative effort known as CRESTA.
In order for exascale applications to be productive, all the supporting layers also need to be optimized: from the operating and runtime systems, through the communication and scientific libraries to the compilers and toolsets. The need for such an ecosystem led Cray to establish the Cray Research Initiative Europe back in 2009. As part of that endeavor, Cray is working with key high performance computing (HPC) centers and software and tools developers across Europe under the banner of CRESTA (Collaborative Research into Exascale Systemware).
“Co-design is at the project’s core,” explains Beech-Brandt, “real application requirements driving systemware developments and research, which then feed back into the applications in an ongoing, virtuous cycle.”
With funding from the European Union, CRESTA has selected six applications for exascale-focused development. The applications were chosen by CRESTA HPC center partners and represent a broad range of domains, including CFD, numerical weather prediction, biomolecular systems, fusion energy, and physiological flows.
The CRESTA team is exploring new programming models, such as PGAS languages and OpenACC, as well as enhanced libraries, e.g., FFTs and sparse matrix operations. Another technique is to introduce fault tolerance both in the applications and in the communication libraries. The team is also experimenting with improved compilers, workflow, and diagnostic tools, such as DDT and Vampir from partners Allinea and TU Dresden, which help developers address the bottlenecks that limit the progress from petascale and exascale.
The project relies on large Cray supercomputers installed at CRESTA partner sites in Europe the United States, including the 20-petaflop (peak) Cray XK7 Titan supercomputer, located at the Oak Ridge National Laboratory. Access is enabled by the U.S. Department of Energy INCITE program, and three of CRESTA’s partner co-design applications have leveraged the INCITE program.
The Cray rep cites several examples of how customers can benefit from CRESTA. The European Center for Medium range Weather Forecasting (ECMWF), for example, uses the Integrated Forecast System (IFS) model to provide medium-range weather forecasts to its 34 European member states. The global grid size for simulations, currently based on a 16 km resolution, is expected to be refined down to a 2.5 km global weather forecast model by 2030, when employed on an exascale system. This means IFS needs to run efficiently on a thousand times more cores. Advances achieved by CRESTA have enabled IFS to harness 200,000 CPU cores on Titan. This is the most cores ever used for a weather model and it marks the first use of the 5 km resolution model that will be needed in medium range forecasts in 2023.
The breakthrough was enabled by new programming models, which eliminated a performance bottleneck. More specifically, the Cray Compiler Environment (CCE) used nested Fortran coarrays within OpenMP, which allowed communication time to be absorbed into existing calculations.
Cray reports other successes in the field of CFD too, with CRESTA researchers using the OpenACC programming model to extend the existing Nek5000 code to exploit accelerators. Adding only one OpenACC directive per thousand lines of Fortran code has already enabled a Nek5000 test case to be scaled across more than 16,000 GPU nodes of Titan, with an almost threefold increase in performance compared to just using the CPUs.
CRESTA is also helping to boost the performance of Gromacs, a classical molecular dynamics package for simulating the behavior of millions of particles. The work involves using a hybrid approach (CPUs and GPUs) to understand the mechanism of membrane fusion in viruses.
The Cray rep notes that the R&D undertaken by CRESTA has led to improvements in the Cray Compiler Environment (CCE), something Cray users everywhere can benefit from.
In CRESTA’s last year, Beech-Brandt says to “expect more big improvements in applications, systemware, and tools.” When the program ends, Cray’s work on the exascale front will continue with projects like EPiGRAM.