Graphical Processors at NOAA
The Boulder HPC Facility:  Exploring New Computing Technologies for NOAA

Graphical Processor Units (GPUs) are considered by many to be the next frontier in High Performance Computing (HPC).  With CPU performance stalling, vendors have been forced to increase the number of cores per chip at the expense of increased power and cooling requirements.  CPU systems requiring over 200,000 cores are being built (DOE: Jaguar, NSF: Blue Waters) toward achieving over a PetaFlop of computing necessary to run climate models and global weather models at cloud resolving scales (3-4 KM horizontal resolution) within 3 years.  However, systems of this size are impractical for weather forecasting for many reasons including power and cooling requirements, infrastructure costs, system reliability, and power costs.  Power bills alone account for over $1M in moderate sized systems today; future CPU based systems being proposed could require $100M annually if conventional CPUs are used.  GPUs are poised to provide the computing horsepower necessary for HPC systems in the future.

NVIDIA Tesla Picture
NVIDIA Tesla C1060 GPU, 933 GFlops, 256 cores, 150W power
GPU versus CPU
GPUs require a CPU to run since they are co-processors, but comparisons between the most powerful CPUs and NVIDIA GPUs are stark.   NVIDIA's high end GPUs provide almost a TeraFlop (Tesla: 933 GFlops, 150 Watts power, ~$350) of computing on a single chip, compared to the fastest multi-core CPU nodes (eg. Nahalem: 50 GFlops, 80 Watts power, ~$500).  The recent announcement of NVIDIA's Fermi chip will be 8 times faster than Tesla, provide error correcting (ECC) memory, and double precision - all requirements of the scientific community.
Intel Nehalem picture
Intel Nehalem CPU, 50 Gflops, 4 cores, 80W power

Using Video Game Technology for Science:  Until recently, GPUs were used primarily by the gaming community; over 189 million GPUs were sold by NVIDIA since 2007.  Interest by the HPC community was perked when NVIDIA released a high-level language, called CUDA, to the community which allows programmers to write code for GPU processors.  As a result, there is growing interest in using GPUs for HPC applications as a low-cost, high performance alternative to CPUs.

Recent GPU Activities

The Advanced Computing Section of ESRL’s Global Systems Division began exploring GPUs in 2008 and is leading research and development of this technology at NOAA.  We summarize our major activities to date:


  • Purchased a 16 node NVIDIA GTX280 system
  • Developed a Fortran-to-CUDA compiler.  The compiler, called F2C-ACC, was released in June 2009 and has been updated several times since.  Depending on the capabilities the recently released PGI GPU compiler, we will continue to develop our compiler as necessary.
  • Demonstrated 21x performance improvement on six representative subroutines from the Flow-following finite-volume Icosahedral Model (FIM) to assess the hardware and appropriateness of using this technology for next generation models.   This work demonstrated that GPUs are feasible for our weather and climate codes.  The Non-hydrostatic Icosahedral Model (NIM), developed at ESRL, slated to run at cloud resolving scales (3-4km) in 2012, is now being developed to run on the GPU.
Recent Presentations

This work is being supported by NOAA HPCC Funds.

Prepared by Mark Govett, Mark.W.Govett@noaa.gov
Date of last update:    October 2009