Weather forecasting has always been challenging. When Hurricane Sandy raced up the Atlantic coast, U.S.-run models famously suggested it would track out to sea while a European model predicted a sharp left and landfall, which sadly happened. Forecasting is a high stakes activity. Today, the Swiss Federal Office of Meteorology and Climatology (MeteoSwiss) announced use of the first GPU-accelerated supercomputer for weather forecasting.
The new system, a Cray (NASDAQ: CRAY) supercomputer (Cray CS-Storm, details below) accelerated by NVIDIA (NASDAQ: NVDA) Tesla K80 GPUs, is delivering 40x the power of it predecessor CPU-based system according to MeteoSwiss. According to NVIDIA, the effort culminates a roughly 2-year collaboration between NVIDIA, MeteoSwiss, the Swiss National Supercomputing Center (CSCS), Cray, and the Consortium for Small Scale Modeling (COSMO) to improve MeteoSwiss’s weather forecasting capability.
NVIDIA, of course, hopes GPU-based acceleration will become an essential tool in the weather forecasting community. Each node on the new MeteoSwiss system has 8 GPUs, which cumulatively deliver 90% of the flops (48 CPUs and 192 K80s). Currently the new system and older system are both running with plans to phase out the earlier sometime in 2016 when the new system is fully operational.
A weather model samples the state of the atmosphere at a given time, and uses fluid motion and thermodynamics equations to predict the state of the atmosphere at some time in the future. The model divides a forecast region into a grid, and the equations are solved within each grid cell with interactions between the neighboring cells to compute a prediction. The closer grid points are to one another, the higher the overall model resolution which leads to increased realism in the final forecast.
Optimizing COSMO code was a significant effort and important to achieving performance gains. Weather forecasting apps are typically 10–20-years old or more, and tend to be written in Fortran, according to Roy Kim, group product manager of accelerated computing at NVIDIA. A combination of CUDA and OpenACC were used to optimize and port the code for GPUs.
“They [team working on the project] used OpenACC to make the code portable and maintainable. For the CUDA portion, they created a library called Stella which allowed the code to be readable,” said Kim.
The work seems to have paid off. MeteoSwiss runs both 24-hour, hourly forecasts and medium range forecasts of a few days. Before switching to the GPU-accelerated system, 24-hour forecasts models were based on 2.2km grids and eight simulations were run per day. After the switch, grid granularity improved to 1.1km. Medium range forecasts had used a 6.6km grid, were run three times a day, and yielded a 3-day forecast; afterward the grid resolution shrunk to 2.2km with 42 simulations run per day and produced a 5-day forecast.
“Previously, they had difficult modeling formations of storm clouds at 2.2 km resolution but at 1.1km they’re able to model for storm clouds quite precisely. They are also now able to run ensembles of simulations instead of just one,” said Kim. It’s expected the improved model fidelity will also allow tracking the quickly changing microclimates associated with elevation changes in the Swiss Alps.
Significantly, the improved and ported code is now part of COSMO’s general distribution, which NVIDIA hopes will stimulate more activity among the large community of COSMO users, mostly based in Europe.
The two cabinets of the Cray CS-Storm supercomputer at CSCS are tightly packed. Each cabinet consists of 12 hybrid computing nodes for a total of 96 NVIDIA Tesla K80 GPU accelerators and 24 Intel Haswell CPUs. The GPUs are one of the key elements of the new computer system. They allow simulations which are three times more energy-efficient and twice as fast as conventional CPUs. “High-quality weather forecasts always depend upon processing power,” said CSCS Director Thomas Schulthess. “With the GPUs and the revised model, we can compute weather simulations more quickly and accurately than with conventional systems – and more energy and cost-efficient.”
“The ground-breaking use of the high-density GPU-based Cray CS-Storm system to run operational weather forecasts for the very first time is the direct result of the strong, collaborative partnership between CSCS, MeteoSwiss, NVIDIA and Cray,” said Barry Bolding, Cray’s Senior Vice President and Chief Strategy Officer. “With an eight-to-two ratio of GPUs to CPUs, the Cray CS-Storm system will provide MeteoSwiss with a powerful tool for running more detailed and higher-resolution weather forecasts.”