Please join us in the NCAR ML Main Seminar Room 2/26/2013 10AM-11AM
Developing Performance Portable Code for CPU, GPU and MIC
NOAA’s Earth System Research Laboratory has been exploring GPU since 2008, and MIC since 2011. Our focus has been to develop a single performance portable code that runs on CPU, GPU and MIC. We began developing the directive--‐based Fortran--‐to--‐CUDA Accelerator (F2C--‐ACC) compiler in 2008 when commercial compilers were not available. F2C--‐ACC continues to be developed and has been used to both parallelize the FIM and NIM weather models for NVIDIA GPUs, and to evaluate the commercial GPU compilers.
FIM has also been parallelized using openMP for Intel’s Many Integrated Core (MIC) architecture. These parallelization efforts have maintained a single source code, using the directive--‐based F2C--‐ACC, and openMP compilers. In this presentation, I will give details of parallelization, and show performance we have achieved with AMD Opteron, Intel SandyBridge, NVIDIA Fermi & Kepler, and Intel MIC architectures.